Skip to main content

CodeFission

Tree-structured AI coding assistant for exploring and experimenting with code. Each conversation node is an isolated git worktree — branch to try alternative approaches, and every branch gets its own filesystem sandbox.

Example: research workflow

The canvas works for open-ended research: branch from a root prompt, iterate on sub-questions, and keep parallel threads visible — sticky notes and deep trees included.

Research workflow in CodeFission: branching exploration on the canvas

Example: duplicating a session

Use Duplicate on a node to spin up another branch from the same starting point — handy when you want the same prompt but different tool runs, follow-ups, or outcomes side by side.

Duplicating a session: parallel branches from the same prompt

Example: start a tree from commit history

Open the git graph view for a project to see branches and commits. Pick any commit and use Plant new tree here to spin up a new conversation tree rooted at that exact revision — useful for revisiting an older state or exploring “what if” from a specific point in history.

Git graph: plant a new tree from any commit

Prerequisites

  • uv — Python package manager (used to install CodeFission)
  • An AI backend — Claude Code or Codex CLI (you only need one)
  • git — worktree isolation. Usually pre-installed.

Install uv

uv is a fast Python package manager. If you don't have it:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

You don't need to install Python separately — uv manages that for you.

Authenticate Claude Code

Install and log in with your Anthropic account (Claude Pro/Max) or API key:

npm install -g @anthropic-ai/claude-code
claude login

Alternatively, set ANTHROPIC_API_KEY in your environment.

Authenticate Codex CLI

Install and log in with your OpenAI account:

npm install -g @openai/codex

Then authenticate using one of:

codex login              # OpenAI API key (paid API access)
codex login --chatgpt    # ChatGPT Plus or Pro account

Alternatively, set OPENAI_API_KEY in your environment.

Install

uv tool install codefission

This installs fission as a standalone command on your system. uv creates an isolated environment for it automatically — no Python environment management needed on your end.

Prefer pip? pip install codefission works too.

Then run:

fission

Opens as a desktop app on first launch (downloads ~80 MB once). Use fission --browser to open in a browser instead.

fission              # desktop app (default)
fission --browser    # browser mode
fission --desktop    # force desktop app

Updates

When a new version is available, fission will notify you on launch and offer to upgrade automatically. You can also check manually:

fission --update

Install from source

Requires uv and Node.js 20.19+ or 22.12+.

git clone https://github.com/codefission-ai/CodeFission.git
cd CodeFission
make install
fission

For development with auto frontend rebuild:

make dev

How it works

Create a tree in the sidebar, type a message, and CodeFission spawns a Claude Code session in an isolated git worktree. Branch any node to explore alternatives — each branch forks the conversation context and the filesystem state.

         [root]
        /      \
   [add auth]  [add auth]     <- same prompt, different approaches
      |            |
 [fix tests]  [add logging]   <- independent follow-ups

Every node tracks its git branch, commit, and Claude session. Child nodes fork from the parent's prompt cache so context carries over without re-sending history.

Authentication

Configurable in the Settings panel (gear icon in sidebar):

  • CLI (OAuth) — default. Uses your claude login session. No API key needed.
  • API Key — provide an Anthropic API key in settings. Useful for headless/remote setups.

Both modes require the Claude Code CLI binary to be installed.

Configuration

Open Settings (gear icon) to configure:

  • Global defaults — provider, model, max turns, auth mode. Applies to all trees.
  • Per-tree overrides — provider, model, max turns. Leave as "Default" to inherit global settings.

Settings persist in the backend database across sessions and devices.

Development

make dev          # install + build frontend + run server
make test         # run tests
make build        # build wheel for PyPI
make publish      # build + upload to PyPI
make clean        # remove build artifacts

Frontend dev server (hot reload):

cd ui
npm run dev

Data is stored in ~/.codefission/ (SQLite database, git worktrees). Override with CODEFISSION_DATA_DIR env var.

Platform support

Platform Status
macOS Tested
Linux Tested
Windows Not tested — may work, but no guarantees

Windows users: if you hit issues, open a GitHub issue and I'll respond within 3 hours.

Support

Found a bug or something not working? Open an issue — I respond to all issues within 3 hours.

Metadata

Release files for codefission 0.1.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for codefission 0.1.13
File Size Uploaded Provenance
codefission-0.1.13.tar.gz 60.0 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for codefission 0.1.13
File Interpreter ABI Platform
codefission-0.1.13-py3-none-any.whl Python 3 none any Details

Total release size: 62.5 MB

Release files / codefission-0.1.13.tar.gz

Download URL codefission-0.1.13.tar.gz
Size 60.0 MB
Tags Source
SHA-256 checksum
How to use checksums
e6fe2aa46c55df3222aff007cd9fe2d53729a1a20893d66ea8c4838621bc812f
BLAKE2b-256 checksum
How to use checksums
be8e66aad3eab45a1ddbb4d2e38a64edbe52d04ae9bc471c9955aa9f37636fc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.12.0 HTTPX/0.28.1

Release files / codefission-0.1.13-py3-none-any.whl

Download URL codefission-0.1.13-py3-none-any.whl
Size 2.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
7b773885a2c41c7ab2b5e3e9c39c37c62b518ffe26786551a08690fff3fdeece
BLAKE2b-256 checksum
How to use checksums
b02ba7137795a0fdf1d1ede84acf3b2debeaf67ea67077c00a20cc425b1819e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.12.0 HTTPX/0.28.1

Security for codefission 0.1.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page