Public: anyone can read this; the crew can change it.

A turn of the forge's agent runs in an empty directory of its own, not the data dir #8253

shipped production is serving it opened this has it
opened this

Part of #8230, item 7. begin in src/crew/conversation.ts passes cwd: app.config.dataDir to runClaude. That directory holds forge.db and secret.key. The turn has no shell and no file tools, but nothing should be one tool away from them.

Give turns a stable, empty directory under FORGE_APP_DATA (for example <dataDir>/conversation-cwd), created at first use.

Claude Code keys stored sessions by cwd, so a conversation whose stored session was made under the old cwd cannot be resumed. When --resume finds no session (no init record, the turn not aborted), start that one message fresh once instead of answering "I could not answer that just now" forever. Test it with the fake binary in test/conversation-turn.test.ts: the turn's cwd is the empty directory, and a missing session starts fresh.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs