Repository navigation
Publish guides to letting a second agent watch a terminal over MCP, keeping a local agent run reachable when a laptop sleeps, running Codex in a container you can open from a browser, starting a coding agent from your phone, approving Muse Code's commands from a phone, running Codex in parallel git worktrees, and keeping one browser link for a multi-night Antigravity CLI run - #322
Merged
Merged
Conversation
…inal over MCP Adds a tutorial on giving a Codex watcher an observe-only, expiring MCP grant to a Claude Code session, tied to Anthropic's October 9 report on unintended model actions. Includes the registry entry and a new cover. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sleeps Ties Google's Gemini agent launch (Gemini at Work, 2026-10-08), which keeps running after you close your laptop, to the local case: hold the machine awake for exactly the run with caffeinate or systemd-inhibit and shell --foreground, read shell list and shell ls when the link goes offline, rely on the host's reconnect and the relay's 12-hour window after a sleep, and restart with claude --continue after a reboot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rowser Runs Codex CLI inside the shell.online Docker image, opens its terminal from a phone, and states where container isolation stops, tied to Kaspersky's October 7 guidelines on isolating AI agents. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…your phone Walks through allowing browser starts with shell auth, keeping the daemon running with shell service, the app's New session sheet, putting the project directory into the command, who receives the sealed password, and who can press Stop. Hooked to Cursor's October 6 remote control for local agents. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… commands from a phone Adds a tutorial tied to Meta's October 12 release of Muse Wonder: start Muse Code through shell with --model muse-wonder-1.0 and --approval-judge off, answer its review prompts from a phone, and cap the run with --auto-close. Includes the post body, its registry entry and a cover illustration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…g the sessions apart Codex CLI 0.162.0 (October 8) added managed Git worktree tools. The guide gives each task its own worktree, starts Codex there with shell --name, and finds, opens and stops the right session with shell list, shell ls and the web app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…vity CLI run Adds a tutorial that runs Gemini 4 Argon in the Antigravity CLI under shell --persistent, so the same link and password open every night of a long migration, with its registry entry and cover. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes for the user?
Adds seven blog posts to shell.online/blog/:
How to Let a Second Agent Watch a Coding Agent's Terminal Over MCP (2026-10-10), a tutorial by Artemii Amelin (Security).
shell mcp grant <id> <label> observe <ttl>into an environment variable, a Codexconfig.tomlentry withbearer_token_env_varand anenabled_toolsallow-list, the watcher's instructions, theE2EE · MCPbadge andAgent: <label>chip a browser viewer sees, revocation (shell mcp revoke,revoke-all,shell password rotate), and what the setup does not do.blog/posts.json(entry),blog/posts/how-to-let-a-second-agent-watch-a-coding-agents-terminal-over-mcp.html,public/blog/banners/how-to-let-a-second-agent-watch-a-coding-agents-terminal-over-mcp.webp.How to Keep a Local Agent Run Reachable When Your Laptop Sleeps (2026-10-11), a tutorial by Artemii Amelin (Operations).
shell --foregroundincaffeinate -iorsystemd-inhibitso the wake lock ends with the agent (and why the default background start would release it at once), the Linux lid-switch caveat from logind.conf, readingshell listrelay status andshell ls/--all(the ten-minute "machine gone" rule), the host's 30-second ping and 0.5 s to 10 s reconnect backoff, the relay's 12-hour window, restarting withclaude --continueafter a reboot, a pointer to--persistent, and what the setup does not do.blog/posts.json(entry),blog/posts/how-to-keep-a-local-agent-run-reachable-when-your-laptop-sleeps.html,public/blog/banners/how-to-keep-a-local-agent-run-reachable-when-your-laptop-sleeps.webp.How to Run Codex in a Container You Can Open From a Browser (2026-10-12), a tutorial by Artemii Amelin (Security).
docker compose up --build -d, reading the link and password fromdocker compose logs shell-online,docker compose exec shell-online shell list), puts the Codex musl binary into/workspacewithdocker compose cpwithout root, signs in withcodex login --device-authfrom the shared terminal, explains whatdocker compose restartkeeps (link and password, not the process), and states the limits: a container rather than a VM, no network default-deny, and an agent in the same user account can read/var/lib/shell-online/passwordandsession.json.blog/posts.json(entry),blog/posts/how-to-run-codex-in-a-container-you-can-open-from-a-browser.html,public/blog/banners/how-to-run-codex-in-a-container-you-can-open-from-a-browser.webp.How to Start a Coding Agent on Your Own Computer From Your Phone (2026-10-13), a tutorial by Artemii Amelin (Guide).
shell auth, the one-time prompt,--allow-remote-start/--no-remote-start), checking the listener withshell daemon statusandshell service status(2-second poll, 15-second reachability window, PATH detection of agent tools), the app's New session sheet and its Codex and Claude Code forms with the command preview, putting the project directory into the command (codex --cd <path>,cd <path> && claude, whycodex resume --lastdepends on it), "Who can open it" and how the browser seals the password to the machine and to ticked colleagues, phone controls, owner-only Stop, and what the setup does not do (no attach to running processes, no wake, no shell.online flags from the browser, not a sandbox, own machines only).blog/posts.json(new first entry),blog/posts/how-to-start-a-coding-agent-on-your-own-computer-from-your-phone.html,public/blog/banners/how-to-start-a-coding-agent-on-your-own-computer-from-your-phone.webp.How to Try Muse Wonder in Muse Code and Approve Its Commands From Your Phone (2026-10-14), a tutorial by Artemii Amelin (Guide).
shell --name wonder-trial muse --model muse-wonder-1.0 --approval-judge off), explains why options after the command name go tomuseuntouched (Go flag parsing, optional--), how Muse Code's Auto-review judge and approval modes decide whether a prompt reaches a person, answering the prompt from a phone (shared 80x40 grid, Esc and Ctrl-C behaviour), capping the run with--auto-close 90m(SIGTERM to the process group, SIGKILL two seconds later on macOS and Linux) and resuming with Muse Code's/resume --last, thenshell list,shell attach, Ctrl-X D,shell killandshell password rotate, and what the setup does not do.blog/posts.json(new first entry),blog/posts/how-to-try-muse-wonder-in-muse-code-and-approve-its-commands-from-your-phone.html,public/blog/banners/how-to-try-muse-wonder-in-muse-code-and-approve-its-commands-from-your-phone.webp.How to Run Codex in Parallel Git Worktrees and Tell the Sessions Apart (2026-10-15), a tutorial by Artemii Amelin (Guide).
--worktreeflag as context.git worktree add -b, starts Codex in each withshell --name "<name>" codex(the background process keeps the launching directory), readsshell list(table vs compact output, 24-character NAME column), filtersshell list --jsonwith jq and warns that it includese2ee_password, usesshell ls/shell ls --all --json(statuses,exit_code), opens and renames sessions in the web app (who may rename), thenshell attach, Ctrl-X D,shell killandgit worktree remove, and states what the setup does not do (no worktree tracking, names not unique, a worktree is not a sandbox, no reach into the Codex app's managed worktrees).blog/posts.json(new first entry),blog/posts/how-to-run-codex-in-parallel-git-worktrees-and-tell-the-sessions-apart.html,public/blog/banners/how-to-run-codex-in-parallel-git-worktrees-and-tell-the-sessions-apart.webp.How to Keep One Browser Link for a Multi-Night Antigravity CLI Run (2026-10-16), a tutorial by Artemii Amelin (Guide).
agy) for Google AI Pro and Ultra subscribers, with the open Gemini CLI issue asking for the same model as context.agyundershell --persistent <state-file> --name "<name>" agyso the same link, password and session ID come back every night, puts the state file under~/.local/stateoutside the repository (0700 directory, 0600 file, refusal of group/other-readable files and symlinks), explains the 30-day versus 12-hour relay windows and why the session ID comes back after the record expires, the fixed read-only mode and password,shell password rotate(same path, new fragment) and retiring the link by deleting the state file, and states what the setup does not do (not a process checkpoint, no automatic restart after a crash, MCP grants cleared on resume, no--no-e2ee, no wake).blog/posts.json(new first entry),blog/posts/how-to-keep-one-browser-link-for-a-multi-night-antigravity-cli-run.html,public/blog/banners/how-to-keep-one-browser-link-for-a-multi-night-antigravity-cli-run.webp.Verification
Run on the branch as it now stands (all seven posts, merged with current
upstream/main, which had no new commits).python3 tools/lint_post.py how-to-keep-one-browser-link-for-a-multi-night-antigravity-cli-run: OK, 1,617 words, 26 links (14 outside across 8 sites, 3 to pilotprotocol.network).python3 tools/check_links.py blog/posts/how-to-keep-one-browser-link-for-a-multi-night-antigravity-cli-run.html: 26 links, 26 ok, 0 blocked, 0 dead. (A first run reported ai.google.dev's model page as dead because it redirects scripted requests to a Google sign-in; that link was replaced.)npx vitest run tests/blog.test.ts: 1 file, 15 tests passed.node scripts/test-landing-seo.mjs: passed.npm run build:web: exit 0 (only the existing chunk-size warning).cmd/shell/help.go,cmd/shell/main.go,cmd/shell/persistent.go,cmd/shell/private_file_unix.go,cmd/shell/account_sessions.go,shared/session-lifetime.ts,shared/persistent-session.ts, the resume, disconnect and expiry paths inworker/index.ts(grants cleared on resume), and the CLI, encryption and reliability pages indocs/content.json. Antigravity CLI details come from Google's getting started and models pages.agywas not run end to end on the publishing machine.cmd/shell/help.go,cmd/shell/main.go,cmd/shell/sessions.go(list table, compact output,--namevalidation, JSON fields),cmd/shell/account_sessions.go(shell ls, statuses, ten-minute machine-gone rule),cmd/shell/session_output.go,cmd/shell/background_unix.go(working directory of the background child),app/src/lib/session-view.ts,app/src/lib/session-title.tsandapp/src/routes/Session.tsx(rename), and the CLI page indocs/content.json. Git behaviour comes from the git-worktree and gitignore manuals. Codex was not run end to end on the publishing machine.cmd/shell/main.go(flag parsing),cmd/shell/autoclose.go,cmd/shell/handoff.go,cmd/shell/session_unix.goandcmd/shell/process_unix.go(deadline termination),cmd/shell/help.go,app/src/terminal/chat/keys.tsand the docs and mobile pages indocs/content.json. Muse Code details come from Meta's developer docs (overview, configuration, permissions, interactive). Muse Code was not installed on the publishing machine, so the run was not performed end to end.cmd/shell/help.go,cmd/shell/agent_loop.go,cmd/shell/remote_start.go,cmd/shell/browser_command*.go,cmd/shell/harness.go,cmd/shell/service*.go,internal/account/sealed.go,app/src/lib/session-kinds.ts,app/src/components/NewSessionModal.tsx,app/server/app.ts(POST /api/commands,AGENT_ONLINE_MS), CHANGELOG 0.24.1 and the app, mobile and security pages indocs/content.json. Browser starts were not run end to end on the publishing machine.shell service installsays "Run 'shell daemon start' to allow it", butshell daemon startitself refuses in that state and points toshell auth --allow-remote-start. Worth a look by a maintainer.Dockerfile,docker-compose.yml,scripts/docker-entrypoint.sh,cmd/shell/help.go,cmd/shell/session_output.go,cmd/shell/persistent.go,cmd/shell/session_unix.goand the Docker, encryption and security pages indocs/content.json. Docker itself was not available on the publishing machine, so the steps were not run end to end; the post says so.shell password rotateinside the container updatessession.jsonbut not the entrypoint's/var/lib/shell-online/password, so on the next start the entrypoint appears to export the old password, whichpersistent.gorejects as not matching the state. The Docker help and docs page recommend rotating inside the container. Also, the entrypoint generates an 8-character password whileshell help dockersays ten. Worth a look by a maintainer.Access and privacy
No product change. All seven posts and their covers contain only invented session names, links, passwords and placeholders; no real share links or tokens.
Rollout
Website only. The posts are live after the next deploy.
🤖 Generated with Claude Code