Skip to content

feat: opt-in Remote Control + bake a default statusLine#2

Merged
intech merged 1 commit into
mainfrom
chore/image-rc-optin-statusline
Jun 13, 2026
Merged

feat: opt-in Remote Control + bake a default statusLine#2
intech merged 1 commit into
mainfrom
chore/image-rc-optin-statusline

Conversation

@intech

@intech intech commented Jun 13, 2026

Copy link
Copy Markdown
Member

What changed

Two image-config fixes surfaced from runtime diagnostics.

1. Remote Control is now opt-in (was a dead default)

The entrypoint hard-wired claude … --remote-control, but Remote Control requires a full-scope
login token
(claude auth login). The long-lived CLAUDE_CODE_OAUTH_TOKEN / claude setup-token
this image uses is inference-only, so RC was always Status: disabled — a flag promising a
feature that can't work with the supported auth.

  • Entrypoint adds --remote-control only when CLAUDE_REMOTE_CONTROL=1 (off by default).
  • README / SECURITY.md / CLAUDE.md / .env.example updated to state the token requirement and the
    opt-in env var.

2. Default statusLine

Bake statusline-command.sh to /usr/local/bin/claude-statusline.sh (a fixed, HOME-independent
path) and wire settings.local.json's statusLine.command to it, so a compact status line works
out of the box: directory, git branch + dirty counts, model, duration, context %, and 5h/7d rate
limits. Dependencies (jq, git, awk, date, grep) are already in the image.

Validation (fresh local build, amd64)

  • statusLine: piping a sample JSON to claude-statusline.sh renders the full line —
    /workspace · Opus 4.8 · 1h30m · 73% · 19.7k · 5h 82% · 7d 58%; script is 0755 at the fixed
    path; settings.local.json statusLine confirmed in the baked config.
  • Remote Control off by default: entrypoint logs Starting Claude Code in /workspace... with no
    --remote-control; with CLAUDE_REMOTE_CONTROL=1 it announces Remote Control requested.
  • ./build.sh → exit 0.

Notes

  • This does not enable Remote Control (still impossible with an inference-only token); it removes a
    misleading default and documents how/when it could work.

Remote Control: `--remote-control` was hard-wired into the entrypoint, but it
needs a full-scope login token (`claude auth login`) — the long-lived
CLAUDE_CODE_OAUTH_TOKEN / `claude setup-token` this image uses is inference-only,
so RC was a dead default (Status: disabled). Make it opt-in: the flag is added
only when CLAUDE_REMOTE_CONTROL=1. Docs (README, SECURITY, CLAUDE.md, .env.example)
updated to state the token requirement.

statusLine: bake statusline-command.sh to /usr/local/bin/claude-statusline.sh
(fixed, HOME-independent path) and wire settings.local.json's statusLine.command
to it, so the compact status line (dir, git, model, duration, context %, 5h/7d
rate limits) works by default. Deps (jq, git, awk, date, grep) already in the image.

Validated on a fresh local build (amd64):
- statusLine: piping a sample JSON to claude-statusline.sh renders the full line
  ( /workspace · Opus 4.8 · 1h30m · 73% · 19.7k · 5h 82% · 7d 58% )
- RC off by default: entrypoint logs "Starting Claude Code in /workspace..."
  (no --remote-control); with CLAUDE_REMOTE_CONTROL=1 it announces RC requested
- settings.local.json statusLine wired; script is 0755 at the fixed path

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@intech intech self-assigned this Jun 13, 2026
@intech intech merged commit 1ba2a89 into main Jun 13, 2026
3 checks passed
@intech intech deleted the chore/image-rc-optin-statusline branch June 13, 2026 13:08
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