Skip to content

Every agent boots with cwd pointing at one hard-coded repo (../../orkestr8), regardless of the product being worked on #5

Description

@zaphodis42

Found while auditing the launcher scripts on 2026-07-27.

What happens

config.toml sets the same cwd for every agent:

[agents.claude]    cwd = "../../orkestr8"
[agents.codex]     cwd = "../../orkestr8"
[agents.opencode]  cwd = "../../orkestr8"
[agents.agy]       cwd = "../../orkestr8"
# config.local.toml: claude-alt, claude-zai — same

Confirmed live:

$ ps -eo args | grep tmux
tmux new-session -d -s agentchattr-claude -c /home/dexter/workspace/orkestr8 env -u CLAUDECODE …

So on a session working on pixel_agents, all six agents started in orkestr8.

Why it matters

An agent that runs git status, git log or git rev-parse HEAD without cd-ing first reports on the wrong repository — and reports it confidently. "Tree clean, HEAD is X" is a true statement about a repo nobody asked about.

This is the same silent-wrong-target shape as a bug we hit the same week in run-agent, where a harness ignored WORKDIR and wrote into a sibling repo while reporting status 0. It did not cause damage this session only because the workers happened to cd correctly.

Mitigation adopted in the meantime

Every evidence block must now include git rev-parse --show-toplevel, so "which repo is this?" is answered explicitly rather than assumed. That is a workaround, not a fix.

Suggested fix

Make cwd per-product rather than global. Options, in rough order of effort:

  1. Allow cwd to be overridden per launch — e.g. AGENTCHATTR_CWD=/path ./macos-linux/start_claude.sh, since config_loader already supports AGENTCHATTR_* overrides.
  2. Add a product/workspace concept so a channel (e.g. #pixelagents1) implies a default cwd.
  3. At minimum, surface each agent's cwd in chat_who (see the identity/process-mapping issue) so a mismatch is visible rather than latent.

Related: the default cwd = "." and cwd = ".." values elsewhere in config.toml (e.g. codebuddy) have the same problem in a different direction.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions