Feedback: /ultraplan friction — cwd locked at session start, web sandbox clones only once
Summary
Two coupled UX issues make /ultraplan painful to use as an iterative refinement tool from a local Claude Code session.
Issue 1 — cwd is locked at session start
Slash commands inherit the session cwd. If I launched claude from a non-git directory (e.g. ~), /ultraplan fails immediately with:
ultraplan: cannot launch remote session — Background tasks require a git repository. Initialize git or run from a git repository.
There's no way to switch cwd within a running session — I have to exit and re-launch from inside the right repo.
For users who keep multiple project repos and a single global brain repo (~/.claude), this means every /ultraplan invocation requires opening a new terminal, cding into the brain repo, and starting a fresh claude session. Friction adds up fast.
Suggested fix: a --cwd flag on slash commands that need a git repo, or have /ultraplan default to the user's ~/.claude repo if the current cwd isn't a git repo. Alternatively, a /cd <path> slash command that re-roots the session.
Issue 2 — web sandbox clones once, never re-pulls
Each /ultraplan call spins up a fresh container that git clones the brain repo at session start. After that, the sandbox has no origin configured and no live git pull path. Anything I commit + push after the sandbox started is invisible — including the very plan file I just wrote in the local session.
This forces a clunky dance: commit + push everything I want the remote to see before I invoke /ultraplan, otherwise I have to abandon the running web session and start a new one.
Suggested fix: re-fetch + reset origin on each turn of the web session, OR expose a /sync slash command that round-trips files (or just the relevant plan file) between local and web without git as the transport.
What I had to build to work around this
- A
PostToolUsehook onWrite|Editthat auto-commits + pushes any change under~/.claude/plans/ - A
UserPromptSubmithook that pattern-matchesultraplanand runs a context-snapshot script before the prompt dispatches - A
bashwrapper thatcds into the brain repo and prefills the slash command
It works, but it's a lot of plumbing just to use a flagship feature smoothly.
Why this matters
The intended /ultraplan use case is "I had a thought, send it to a beefier remote agent to refine, bring it back" — that's a tight iterative loop. The current implementation pushes it toward a "build a big bundle, fire once, hope it's right" pattern that loses the iteration value.
Environment
- Claude Code v2.1.112
- Linux (Ubuntu 24.04)
- Multi-repo setup with a central
~/.claudebrain repo and 14+ venture repos under~/projects/
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗