feat: configurable tz, signing tooling, deterministic session ids #19
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/tz-signing-deterministic-sessions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Three independent quality-of-life improvements for daily use. The image now bakes a configurable timezone (defaulting to
Etc/UTC, overridable viainstall.sh --tzormake TZ=...) so containerized timestamps stop diverging from the host whenever the user wants local time. It also shipsopenssh-clientplus gnupg/jq/ripgrep/xz-utils, switching the apt-get install to--no-install-recommends, so SSH-based commit signing finally works inside the container once--with-ssh-agentis on — README spells out the gitconfig wiring users still have to provide themselves. Finally,claude.shderives the session ID deterministically from the workspace path (first 8 hex chars of its sha256), so re-runningclaudein the same folder transparently reuses the same session without jugglingCLAUDE_JAIL_SESSIONor--session; explicit overrides are tightened to require an existing session, removing the typo-creates-empty-session footgun.Random 8-hex IDs meant the same project got a fresh empty session on every invocation, and reusing prior context required juggling CLAUDE_JAIL_SESSION or copy-pasting an --session flag. Most users want the opposite: stable per-folder sessions, zero config. Derive the default ID from the first 8 hex chars of sha256("$workspace") so re-running claude in the same directory transparently reuses the session. Create the on-disk state lazily on first use, and tighten explicit --session / CLAUDE_JAIL_SESSION to require an existing session (no more accidental creation from a typoed ID). Update README and .env.example to document the new default and the narrower role of CLAUDE_JAIL_SESSION.