mirror of
https://github.com/tiennm99/ccs.git
synced 2026-08-05 10:23:11 +00:00
docs(spawn): document claudecode env sanitization behavior
- note delegation compatibility with Claude nested-session guard - document CLAUDECODE sanitization invariant in code standards Refs #588
This commit is contained in:
@@ -193,6 +193,8 @@ Detailed guide: [`docs/cursor-integration.md`](./docs/cursor-integration.md)
|
|||||||
|
|
||||||
Run multiple terminals with different providers:
|
Run multiple terminals with different providers:
|
||||||
|
|
||||||
|
> Delegation compatibility: when CCS spawns child Claude sessions, it strips the `CLAUDECODE` guard variable to avoid nested-session blocking in Claude Code v2.1.39+.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Terminal 1: Planning (Claude Pro)
|
# Terminal 1: Planning (Claude Pro)
|
||||||
ccs work "design the authentication system"
|
ccs work "design the authentication system"
|
||||||
@@ -283,6 +285,8 @@ export CCS_CLAUDE_PATH="/path/to/claude" # Unix
|
|||||||
$env:CCS_CLAUDE_PATH = "D:\Tools\Claude\claude.exe" # Windows
|
$env:CCS_CLAUDE_PATH = "D:\Tools\Claude\claude.exe" # Windows
|
||||||
```
|
```
|
||||||
|
|
||||||
|
CCS sanitizes child Claude spawn environments by stripping `CLAUDECODE` (case-insensitive) to prevent nested-session guard failures during delegation. `CCS_CLAUDE_PATH` is still respected after this sanitization step.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|||||||
@@ -429,6 +429,15 @@ if (needsShell) {
|
|||||||
|
|
||||||
This pattern is used in both `ClaudeAdapter` and `DroidAdapter` to ensure cross-platform consistency.
|
This pattern is used in both `ClaudeAdapter` and `DroidAdapter` to ensure cross-platform consistency.
|
||||||
|
|
||||||
|
For all Claude child-process launches (delegation, adapters, proxies, helper spawners), sanitize env before spawn:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
const cleanEnv = stripClaudeCodeEnv(mergedEnv); // case-insensitive remove of CLAUDECODE
|
||||||
|
spawn(binaryPath, args, { env: cleanEnv, stdio: 'inherit' });
|
||||||
|
```
|
||||||
|
|
||||||
|
This prevents Claude Code nested-session guard failures when CCS runs inside parent Claude sessions.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## React Component Standards (UI)
|
## React Component Standards (UI)
|
||||||
|
|||||||
Reference in New Issue
Block a user