mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-14 10:39:32 +01:00
fix(agent): refuse an implicit HOME cwd for a directory spawn
`codeman agent spawn` always sends its directory as an explicit workingDir, so the server cannot apply its no-workingDir rule and installs workspace hooks (and an injected skill) into ~/.claude when the caller's cwd is HOME. A bare spawn whose cwd resolves to the home directory now refuses with exit 4 before any request and names `--working-dir ~`; an explicit `--working-dir ~` is still sent. Paths are compared by realpath, so a symlinked HOME matches, and an unresolvable HOME or cwd falls back to the resolved path without throwing. The directory-spawn --json shape now reads the same in the README, the API reference, the wiki page and the changeset: `ready` when a readiness wait ran, `readinessError` when that call failed, and `startupError` when the start failed. A test pins all four.
This commit is contained in:
1 parent
b26234d6c6
commit
003398e209
8 files changed
+151
-13
No files matched your search
@@ -46,7 +46,8 @@ For an existing project, use one command:
|
||||
no `--working-dir`, `spawn` uses cwd. Give editing workers separate worktrees. A
|
||||
positional case keeps quick-start behavior and cannot be combined with
|
||||
`--working-dir`; an empty `--working-dir` (`"$WT"` unset) refuses with exit 4
|
||||
rather than falling back to cwd. Directory launches keep parent lineage and never
|
||||
rather than falling back to cwd, and a cwd that is HOME refuses too (hooks would
|
||||
land in `~/.claude`; pass `--working-dir ~` to mean it). Directory launches keep parent lineage and never
|
||||
mark the project as agent scratch. If startup fails or is ambiguous, the CLI
|
||||
reports the exact created ID: inspect it before retrying or cleaning up.
|
||||
|
||||
|
||||
Reference in new issue
Block a user