BikubeDocs

Where Bikube stores its data

The files Bikube keeps on your machine and in your sync folder, the folder each one lives in on macOS and Linux, what each is for, and what is never saved.

On this page

Bikube keeps everything on your own machine, in plain files: no account, no server, no telemetry. This page lists each file and folder, where it lives on macOS and Linux, and what it is for, followed by what Bikube never saves.

The data folder

Most files live in Bikube's data folder:

OSFolder
macOS~/Library/Application Support/bikube
Linux~/.config/bikube (or $XDG_CONFIG_HOME/bikube)
File or folderWhat it holds
bikube-state.jsonYour board: every workspace with its folder, SSH host, logo, columns, view, automatic moves, Worktree setup and named shells, every card with its column, title, description, startup command, agent session id and worktree, and which workspace is active. This is what brings the board back after a restart.
bikube-settings.jsonYour settings, including the global shortcut, the side panel's state and this machine's sync folder.
bikube-window.jsonThe main window's size and place, so it opens where you left it.
bikube-update.jsonThe version you told the updater to Skip.
scrollback/Each card's kept output. Removed with the card, and all of it when you turn off Keep output after a card stops.
worktrees/The git worktrees of worktree cards, one folder per repository and card. Removed when you remove a card's worktree; kept when you keep it.
updates/Updates downloaded for Install and Relaunch.
board/The sockets the board command talks to Bikube through, private to your user, while Bikube runs.

If bikube-state.json can't be read when Bikube starts, it is renamed to bikube-state.corrupt-<time>.json in the same folder, and Bikube starts with an empty board, so the old file is kept for you to look at. A damaged settings file is never moved: its invalid values take their defaults.

The sync folder

With a sync folder set, Bikube also reads and writes one file in it, bikube-board.json: the board, without the active workspace, with local folders under your home folder written as ~/…. It holds no settings, kept output or anything else from the table above.

The Claude settings file

Every Claude Code card starts Claude with Bikube's own settings file, claude-settings.json, and its instruction, claude-instruction.txt. They ship inside the app, beside the board command (on macOS in Bikube.app/Contents/Resources/bin), and cards find them through $BIKUBE_CLAUDE_SETTINGS and $BIKUBE_BIN. They hold the hooks described in Activity & status. Bikube never writes your own Claude Code settings in ~/.claude.

The Agent setup page writes only when you change something there, and only to the workspace's .claude/settings.local.json.

In an SSH card, the settings file and instruction, and the board script, are copied to a private temporary folder on the host for the session and removed when it ends.

What is never saved

  • Processes. Every card and shell stops when Bikube quits, and is Stopped after a restart until you open it.
  • Panes and their layout and zoom, card windows, and temporary shells.
  • Agent status, activity, waiting, usage and dev server chips.
  • A trigger's last result, the find bar's query, the Files tab's expanded folders, and the command palette (it keeps no history).
  • Whether the sidebar is collapsed.

Kept output is saved, but only on this machine: it is never synced, and never part of bikube-state.json.

Checked against Bikube 0.9.1