Skip to content

feat: Add Claude Code CLI flag passthrough for delegation #89

@kaitranntt

Description

@kaitranntt

Problem

CCS delegation system (built Nov 2025) uses basic claude -p with stream-json output. Claude Code has evolved significantly with new CLI capabilities that ccs doesn't leverage, potentially missing cost controls, reliability features, and modern subagent integration.

Current Gap Analysis

Claude Code now supports these flags that CCS doesn't pass through:

Flag Purpose Value for CCS
--max-budget-usd Cost limit per session Prevent runaway delegation costs
--max-turns Limit agentic turns Prevent infinite loops
--fallback-model Auto-fallback on overload Reliability when model unavailable
--agents Dynamic subagent JSON Inject ccs profiles as native subagents
--json-schema Structured output validation Parseable delegation results
--tools Restrict available tools Security/scope control

Key Findings

  1. CLI Reference (Dec 2025): Claude Code supports --agents flag for dynamic subagent injection at runtime - could bridge ccs profiles into native subagent system.

  2. Headless Mode: Full --output-format stream-json works well. Missing --max-budget-usd for cost guardrails.

  3. Current Implementation: HeadlessExecutor already has extraArgs passthrough mechanism, but no explicit support for new flags.

Proposed Solution

Add passthrough support for key Claude Code CLI flags to HeadlessExecutor and DelegationHandler:

# New supported flags
ccs glm -p "task" --max-budget-usd 1.00     # Cost limit
ccs glm -p "task" --max-turns 5              # Turn limit
ccs glm -p "task" --fallback-model sonnet    # Overload fallback

Files to Modify

  • src/delegation/headless-executor.ts - Add flag passthrough logic
  • src/delegation/delegation-handler.ts - Expose options in CLI parsing
  • src/commands/help-command.ts - Update --help output

Acceptance Criteria

  • --max-budget-usd flag passthrough works
  • --max-turns flag passthrough works
  • --fallback-model flag passthrough works
  • Flags appear in ccs --help output
  • TypeScript strict mode passes
  • All existing tests continue to pass

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions