Launch claude anywhere. Move it while it runs.
Claude Code starts where your shell is. fnc starts where you say: a repo name, an owner/name, a URL, a path. It finds the clone or makes one, and launches there. Inside, the session gets tools to switch repos, open a sibling, or restart itself.
npm i -g fnclaudeThen fnc from any directory, or fnc <repo> for a specific one.
Launching
- fnc ~/src/proj
- Not bound to your cwd. Give it a directory and the session starts there, from whatever terminal you have open.
- fnc arch-setup
- A bare name is enough. fnc checks your existing clones first, then your GitHub user and orgs, and clones if it has to.Say the repo. It finds it.
- fnc fnrhombus/arch-setup
- Name the owner to skip the search.
name@owner,owner/name,gh:owner/name, an HTTPS URL, and an SSH URL all land in the same clone directory. - fnc opus max
- Model and effort are bare words at the front, not flags.
opus,sonnet,haiku,fable;low,medium,high,xhigh,max,auto. - fnc high ~/src/proj
- Effort on its own implies
opus. - fnc resume
- One word to pick up where you left off.
resumeopens the picker,continuetakes the latest session,forkbranches off one.res,con,fkfor short. - fnc resume ~/src/proj
- The picker for a project you are not in. Resume there without going there.
- fnc resume → Ctrl-A
- In the picker, Ctrl-A lists sessions from every directory. Pick one from another project and fnc relaunches itself there, with every flag you started with.Plain claude prints a cd-and-resume line and leaves you to run it.
- fnc arch-setup+fix-lid-sync
- A
+suffix resolves the repo, then adds a worktree beside it on its own branch. - fnc -w fix-lid-sync
- An existing worktree by name, and fnc launches in it. A new name passes through to claude as a create request.
- fnc -BVC
- One capital letter per claude long flag, collapsing the POSIX way. This one is
--brief --verbose --chrome.
Once you are in a session
switch me over to arch-setup
fnc_switch_project
Ends this session and relaunches at the destination with a written summary of the conversation, so the new one starts already briefed. You get a few seconds to Ctrl-C.
also open a session for fncode and fix the cwd bug
fnc_spawn_session
Opens a sibling in a new terminal window, briefed for its own task. This session keeps running.
restart yourself
fnc_restart
Restarts in place. The conversation and your startup flags survive. Ask for one flag to change and only that one changes.
how much has this session cost?
get_usage
Cost, tokens per model, and current context size, read from the session log on disk. No API call.
copy that to my clipboard
fnc_copy_to_clipboard
Puts text on your clipboard. No selecting it out of the terminal.