From 028897f38fd9bc1b2534a156a5bc535deee7ffee Mon Sep 17 00:00:00 2001 From: Koshkoshinsk Date: Mon, 15 Jun 2026 01:50:50 +0300 Subject: [PATCH] docs(add-codex): flag interactive auth step + add host-restart step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Authenticate: run in a separate real terminal, not Claude Code's `!` prefix or an agent Bash tool — the provider-auth picker + browser/device login need an interactive TTY, so those prompts stall otherwise (CDX-002). - add a "Restart the host" step after the image rebuild so the host reloads Codex's /home/node/.codex mount + env; skipping it left the dir root-owned and the container hit EACCES writing config.toml (CDX-003). Refs CDX-002, CDX-003. Co-Authored-By: Claude Opus 4.8 --- .claude/skills/add-codex/SKILL.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.claude/skills/add-codex/SKILL.md b/.claude/skills/add-codex/SKILL.md index 0fd1b206b..caf227471 100644 --- a/.claude/skills/add-codex/SKILL.md +++ b/.claude/skills/add-codex/SKILL.md @@ -89,6 +89,22 @@ pnpm exec tsc -p container/agent-runner/tsconfig.json --noEmit ./container/build.sh ``` +### Restart the host + +The image rebuild does not reload the **host**. Codex's host contribution +(`src/providers/codex.ts`) registers the `/home/node/.codex` bind mount + env +passthrough, and the running host only picks it up on restart. Skip this and the +first Codex turn fails with `EACCES` writing `/home/node/.codex/config.toml` — +with no mount, Docker auto-creates the dir root-owned and the non-root container +user can't write to it. + +```bash +# macOS (launchd) +launchctl kickstart -k gui/$(id -u)/com.nanoclaw +# Linux (systemd) +systemctl --user restart nanoclaw +``` + ### Validate ```bash @@ -100,6 +116,8 @@ The registration tests import only the real barrels — they go red if a barrel ## Authenticate +> **Run this in a separate, real terminal — it is interactive.** It prompts for ChatGPT-subscription vs OpenAI-API-key and then drives a browser/device login, so it needs a TTY to answer prompts. Do **not** run it through Claude Code's `!` prefix or an agent's Bash tool (no interactive TTY there — the prompts stall and nothing completes). + ```bash pnpm exec tsx setup/index.ts --step provider-auth codex ```