Skip to content

Installation

fnclaude is on npm. A global install gives you the fnc binary:

Terminal window
npm i -g fnclaude

Check it:

Terminal window
fnc --version
  • Bun. fnc runs under Bun. You can install the package with npm, but the binary re-executes itself under bun on launch, and fails with a pointer to the Bun installer if bun is not on your PATH. Node alone is not enough.
  • The claude CLI on your PATH. fnc resolves where the session should run, translates your arguments, and hands off to claude. Without claude installed it stops with a message pointing you at Claude Code.

Linux and macOS. The code has a Windows fallback path, but it has never been exercised. Expect breakage there.

Terminal window
fnc install

Opens a session that walks you through setup: where repos are cloned, where worktrees go, how session transfers behave, which claude flags to pass every time. It writes each answer as you give it, so an interrupted run picks up where it left off, and it skips anything already configured — re-run it any time.

Nothing outside the config file is touched until you approve the final preview. Abort there and your answers are kept; nothing else happened.

For dotfiles, the same plan runs without questions:

Terminal window
fnc install -y --fngit --plugin \
--clone-template '~/src/{repo}@{owner}' \
--worktree-template '~/src/{repo}@{owner}+{input}' \
--tmux worktree --handoff 3

A flag you don’t pass leaves that setting alone — absent is not “no”.

Both are optional.

Path What it holds
$XDG_CONFIG_HOME/rhombus.rocks/fnclaude/config.json fnclaude’s own: auto-tmux, auto-handoff, the command that opens a new terminal window for a sibling session, default claude flags, and environment injected into every claude child.
$XDG_CONFIG_HOME/rhombus.rocks/config.json Shared with fngit and the worktree-paths plugin: cloneTemplate, worktreeTemplate, branchTemplate, additionalSrcDirs, hostAliases under repos. fnclaude does not read this file — fngit does.

fnc install writes both. Either may also be .jsonc, .toml, or .yaml; fnclaude writes JSON so editors pick up the $schema line.

The keys are on CLI flags.