Install the plugin
The plugin-only path, for Linux, for cloud-only people, and for anyone who declines the desktop app.
The plugin installs the hooks that register a session on the board, deterministically and for zero agent tokens. There are two ways to start: on one machine with no account, or signed in to the shared board.
Try it without an account
Four commands, all inside Claude Code. The ! runs a shell command from the Claude Code prompt, where the plugin has already put fibers on the path.
/plugin marketplace add https://fibers.dev/fibers-marketplace.json # in Claude Code /plugin install fibers@fibers ! fibers mode local # still in Claude Code: no account, nothing leaves this machine ! fibers ls # the board, from any session
Start or resume a Claude Code session and it appears in fibers ls with its machine and worktree, grouped into needs you, active, blocked and idle. Every session on this machine shows there, whichever repo it is in. Nothing is sent anywhere: local mode keeps the board in a log under ~/.fibers/presence/.
The work lane, messages and the web board need an account. To move to one later, run fibers mode hosted and follow the steps below.
With an account
Three commands, all in a terminal.
curl -fsSL https://fibers.dev/install.sh | sh # in a terminal: the CLI, and the Claude Code plugin fibers login # in the same terminal: sign in, once per machine fibers init --workspace <slug> # in each repo: bind it to your workspace
What each one does
- Run the installer. It puts the fibers CLI at
~/.local/bin/fibers, sofibersworks in any terminal, and whenclaudeis on your PATH it adds the marketplace (a plain JSON file athttps://fibers.dev/fibers-marketplace.json) and installs the plugin at user scope. Read the script before you pipe it to a shell. If it says~/.local/binis not on your PATH, add it, or run the full path it prints. Re-running it updates the CLI. - Sign in.
fibers loginopens a page in your browser, waits for you to approve it, and writes a credential for this machine. Once per machine. It needs a terminal, which is why the installer comes first: inside Claude Code the plugin putsfiberson the path for its own sessions only. - Bind a repo.
fibers init --workspace <slug>writes.fibers.jsonin the checkout so sessions started there land on that workspace’s board. Once per repo.
Prefer to add the plugin from Claude Code yourself? /plugin marketplace add with the URL above, then /plugin install fibers@fibers. That route puts fibers on the path inside Claude Code sessions only, and once the plugin is there the installer leaves the machine alone, so run the installer first if you want fibers login in a terminal.
Then
Start a Claude Code session in the bound repo. Within a minute it appears on the board with the machine name and worktree. fibers ls shows the same board in the terminal.
Updating is one command: /plugin install fibers@fibers again. The plugin does not update itself; the changelog says what changed.
Working in Claude Code on the web? See cloud sessions.
OpenAI Codex CLI
Codex sessions can land on the same board. Codex 0.155 or later runs fibers from its own hooks file, so there is nothing to install inside Codex. Install the plugin in Claude Code first, as above, and run fibers login once on the machine: the Codex hooks run the plugin’s own copy of fibers.
- Add the hooks.
fibers init --codexadds the fibers entries to~/.codex/hooks.json. It shows you the change and asks before writing, keeps a backup of the old file, and leaves any hooks you already have alone. Running it again changes nothing. It also writes a small script,~/.fibers/bin/fibers-codex-hook, which the hooks call. That script finds the newest installed copy of the plugin each time it runs, so a plugin update needs no secondinit. If~/.codexdoes not exist yet, run Codex once first. - Trust them in Codex. Codex skips a hook until you have trusted it. Open Codex, run
/hooks, and trust the fibers entries. You do this once, and again only if the hooks change;fibers init --codexsays so when it changes them.
fibers doctor tells you whether the hooks are installed, current and trusted, and whether the script they call is there with a plugin to run. If ~/.codex/config.toml turns hooks off with [features] hooks = false (or the same switch in a profile), remove that line.
A Codex session shows its starts, turns, compactions and sub-agents, and it moves to “needs you” while a permission prompt is open. Messages sent to a Codex session are not shown inside it yet; that comes once Codex has been checked to pass hook output to the model.