Skip to content

fix: replace --append-system-prompt-file with --append-system-prompt#359

Open
whitmo wants to merge 1 commit intodlorenc:mainfrom
whitmo:multiclaude/zealous-owl
Open

fix: replace --append-system-prompt-file with --append-system-prompt#359
whitmo wants to merge 1 commit intodlorenc:mainfrom
whitmo:multiclaude/zealous-owl

Conversation

@whitmo
Copy link
Copy Markdown

@whitmo whitmo commented Mar 2, 2026

Summary

  • P0 FIX: Claude CLI v2.1.63 does not support --append-system-prompt-file. All agent spawning was blocked.
  • Changed all command construction sites to use --append-system-prompt with inline content instead.
  • For tmux-based launches (runner.go, daemon.go, cli.go startClaudeInTmux): uses $(cat 'file') shell expansion so the prompt file is read at execution time.
  • For exec.Command-based launch (cli.go restartClaude): reads the file in Go via os.ReadFile and passes content directly as an argument.
  • Updated tests, doc.go, and README.md references.

Files Changed

File Change
pkg/claude/runner.go buildCommand() uses --append-system-prompt "$(cat '...')"
pkg/claude/runner_test.go Updated test expectations
pkg/claude/doc.go Updated flag reference
pkg/claude/README.md Updated CLI flags table
internal/daemon/daemon.go Fixed direct command construction
internal/cli/cli.go Fixed both restartClaude (exec.Command) and startClaudeInTmux

Opportunities (not implemented)

  • docs/AGENTS.md, docs/CRASH_RECOVERY.md, SPEC.md, ARCHITECTURE.md still reference the old flag name in documentation/examples — these are doc-only, non-blocking.

Test plan

  • go test ./pkg/claude/... — all 20 tests pass
  • go test ./internal/... — all internal tests pass
  • go build ./... — full build succeeds
  • No Go source files reference --append-system-prompt-file

🤖 Generated with Claude Code

Claude CLI v2.1.63 does not support --append-system-prompt-file.
Instead, read the prompt file contents and pass them inline via
--append-system-prompt. This fixes ALL agent spawning which was
blocked by the unsupported flag.

For tmux-based launches (runner.go, daemon.go, cli.go startClaudeInTmux),
uses shell expansion $(cat 'file') so the shell reads the file at
execution time. For exec.Command-based launches (cli.go restartClaude),
reads the file in Go and passes the content directly as an argument.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@whitmo
Copy link
Copy Markdown
Author

whitmo commented Mar 7, 2026

Triage Review

Priority: P0 (bug fix - blocks all agent spawning)
Build: Pass
Tests: Pass (all 20 claude tests + daemon + cli)
Merge conflicts: None - merges cleanly with main and all other open PRs
Roadmap alignment: Critical bug fix - --append-system-prompt-file flag doesn't exist in Claude CLI v2.1.63

Recommendation: Merge first - this is a blocking bug fix with no conflicts.

@whitmo
Copy link
Copy Markdown
Author

whitmo commented Mar 12, 2026

Local CI Verification (2026-03-12)

Check Result
go build PASS
go vet PASS
go test ./... PASS (all packages)

CI Status: No GitHub Actions checks are running — this is expected for first-time fork PRs. GitHub requires a maintainer to approve workflow runs for PRs from forks.

Branch is rebased on upstream/main (0 commits behind). Ready for maintainer review and CI approval.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant