Description
deva.sh hard-codes CLAUDE_DATA_DIR/CLAUDE_CACHE_DIR into every container, splitting statusline quota state from the host and from the statusline default.
Type
Details
deva.sh:3456-3457 inject:
CLAUDE_DATA_DIR=/home/deva/.config/deva/claude
CLAUDE_CACHE_DIR=/home/deva/.cache/deva/claude/sessions
Problems observed in live use:
- Containers write quota state to ~/.config/deva/claude while anything running without deva env (host Claude Code, manual runs) writes ~/.claude/statusline. Two parallel usage caches that never see each other; cross-session 5h/7d freshness breaks.
- DEBUG_LOG is not redirected, so logs land in ~/.claude/statusline/logs while data lands in ~/.config/deva/claude: logs and data split, debugging misleads.
- The env is set unconditionally but the ~/.config/deva mount is skipped under --config-home/-Q, leaving state container-ephemeral in those modes.
Fix: drop the two -e lines. statusline defaults to ~/.claude/statusline, which is already the mounted shared ~/.claude — one state dir for host and all containers, data and logs together. The ~/.config/deva mounts stay (auth files etc).
Related Files
Test Plan
Description
deva.sh hard-codes CLAUDE_DATA_DIR/CLAUDE_CACHE_DIR into every container, splitting statusline quota state from the host and from the statusline default.
Type
Details
deva.sh:3456-3457 inject:
Problems observed in live use:
Fix: drop the two -e lines. statusline defaults to ~/.claude/statusline, which is already the mounted shared ~/.claude — one state dir for host and all containers, data and logs together. The ~/.config/deva mounts stay (auth files etc).
Related Files
Test Plan