What it does

Features

A complete map of what Fulcrum can do today — 36 built-in tools, 23 slash commands, the skill marketplace, voice input, vim-style editing, themes, plugins, hooks, and more. See the changelog for what shipped when.

36 built-in tools

Fulcrum ships with a complete toolbelt — file I/O, shell, search, networking, notebooks, git worktrees, scheduled jobs, language servers, REPLs, MCP bridges, and sub-agents.

Read / Write / Edit

Read with cat -n style line numbers, write whole files with mode-0600 safety, edit with exact-string replacement (refuses to silently change the wrong match).

Bash

Approval-gated shell. Long-running jobs stream output incrementally; descriptions surface in the transcript as a dim # comment under the command.

Grep / Glob / Ls

Ripgrep-backed search, glob-style file discovery, directory listing. Consecutive read-only calls collapse into a single "● Searched" group in the UI so a burst of exploration doesn't spam your screen.

WebFetch / WebSearch

Fetch a URL and convert HTML → Markdown for the model, or do a keyword web search.

NotebookEdit

Direct Jupyter cell mutation — insert, replace, or delete cells without round-tripping through the notebook UI.

WorktreeCreate / WorktreeRemove

Spin up an isolated git worktree on a new branch so the agent can work without disturbing your main checkout.

Cron

Schedule recurring or one-shot jobs. The agent registers them, the harness runs them, results come back as user messages.

LSP

Language-server bridge for IDE-quality diagnostics, definitions, references — without spawning the full IDE.

REPL

Sandboxed Python evaluator the agent can drive between turns to verify quick computations.

MCP

Model Context Protocol bridges over stdio + SSE. Drop a Claude Code mcpServers config in untouched and fulcrum will pick it up.

Sub-agents

Named profiles in ~/.fulcrum/agents/*.md (with optional ~/.claude/agents/*.md compatibility). Each agent has its own system prompt, tool allowlist, and model.

Skills

Reusable prompt templates in ~/.fulcrum/skills/. Invoke by name; install more from a marketplace (see below).

23 slash commands

Type a command starting with / at the prompt to drive the session — switch model, manage memory, inspect context, reload plugins, abort the running turn, ask a quick side question, and more.

Session

/clear, /reset, /exit, /quit, /compact, /context — clear history, summarise the middle of the transcript to free context, see how close you are to the model's window.

Configuration

/config, /config-path, /env, /model, /models, /vision — show the active config, switch models, list scx.ai's catalog, set a vision model for image input.

Diagnostics

/status, /cost, /doctor, /version, /history, /files — what model am I on, how much have I spent, what's the last 10 sessions, where are my files.

Skills + marketplace

/skills, /marketplace add|list|search|install|remove-plugin|remove-marketplace — pull skill packs from any Claude-Code-compatible repo.

Live conversation

/btw <question> for a side question that doesn't pollute history, /cancel to abort the in-flight turn while keeping the queue, /memory to view persisted notes.

TUI polish

/theme, /vim on|off, /plugins, /keys edit — switch palettes, toggle modal editing, list user plugins, edit the keybindings JSON.

Voice

/voice records from the mic, transcribes via Whisper-Large-v3 on scx.ai, and drops the text into the prompt for review before submit.

Skill marketplace

Compatible with Claude Code's marketplace.json format — point fulcrum at any repo with a .claude-plugin/marketplace.json and install plugins by name.

Add a marketplace

Clone any GitHub-hosted skill marketplace.

/marketplace add https://github.com/alirezarezvani/claude-skills

Browse + search

List every plugin in every added marketplace, or search by keyword.

/marketplace list
/marketplace search seo

Install + verify

Install copies the plugin's source directory into ~/.fulcrum/skills/<plugin>/. The recursive SKILL.md loader picks them up automatically — verify with /skills.

/marketplace install engineering-advanced-skills
/skills

Uninstall

Removes the directory; clean uninstall regardless of marketplace state.

/marketplace remove-plugin engineering-advanced-skills

TUI polish

Fulcrum's terminal interface is built on Textual. Animations, themes, modal editing, mouse selection — none of the typewriter UX feel of older CLI agents.

Claude-Code-style transcript

Each tool call renders as ● Name(args) with a per-tool body — full unified diffs for Edit/Write (line numbers, red/green backgrounds, "Added N lines, removed M lines" summary), $ command + truncated output for Bash, concise summaries for read-only tools. Markdown bodies render with syntax highlighting.

Themes

4 curated palettes (fulcrum-amber, fulcrum-midnight, fulcrum-mono, fulcrum-forest) plus all 20 of Textual's built-ins (nord, dracula, catppuccin, tokyo-night, …). Switch live with /theme.

Vim mode

Modal editing in the prompt with NORMAL/INSERT layers. Supports h/j/k/l, w/b, 0/$, gg/G, i/a/I/A/o/O, x, dd, yy, p, u. Persisted to config.

Selectable + copyable

Drag-select transcript text and copy with Cmd+C on macOS or Ctrl+C on Linux/Windows. Empty Ctrl+C still smart-quits as before — only fires the copy when there's a real selection.

Live queue + interrupt

Submit prompts while the agent is mid-turn — they queue up with a conversational ack ("noted — I'll get to that as soon as I finish this turn") and a persistent panel above the prompt. /cancel aborts the running turn but keeps the queue.

Side questions (/btw)

Ask a quick "by the way" question that reuses the current context but rolls history back when the answer lands. Main thread stays clean; cache hit on the system prompt makes it cheap.

Voice input

Record from the mic, transcribe via Whisper, drop into the prompt for review. Animated processing indicator while the upload completes.

Extensibility

Fulcrum is built to be customised — plugins, hooks, custom skills, custom keybindings, and a typed slash-command API.

User plugins

Drop a .py file in ~/.fulcrum/plugins/ and it's imported on startup. Use the @register_command decorator to add new slash commands; failures are isolated and surfaced via /plugins.

Hooks

Configure shell or Python hooks for PreToolUse, UserPromptSubmit, SessionStart, and other lifecycle events — useful for instrumentation, telemetry, or audit logs.

Custom skills

Write a markdown file with YAML frontmatter (name, description, whenToUse, allowedTools, model) at ~/.fulcrum/skills/<name>.md and the agent can invoke it.

Customisable keybindings

Override any default keybinding via ~/.fulcrum/keybindings.json. /keys edit opens it in $EDITOR; /keys reset restores defaults.

MCP servers

Drop a .fulcrum/mcp.json (or reuse a Claude Code mcpServers config) and fulcrum will spin up stdio + SSE bridges to every server you've configured.

Operational features

The boring-but-essential parts: cost tracking, prompt caching, automatic transcript compaction, persistent memory across sessions.

Cost tracking

Per-session token counts (input / output / cached) and USD totals, broken down by model. Live in the status line; full snapshot via /cost.

Prompt caching

System prompt + tool schemas are cached so subsequent turns hit the cache instead of paying full input tokens.

Auto-compaction

When the transcript approaches the model's context window, the middle gets summarised in-place to free room — preserving the bookends (recent + initial messages).

Persistent memory

Markdown files under ~/.fulcrum/memory/ + a top-level MEMORY.md index injected into the system prompt at the start of every session. Surfaces user preferences, project context, and references the agent has accumulated.

Sessions + history

Every session is saved to disk; /history lists the last 10 with timestamps and cwd.

Australian sovereignty

Fulcrum is Australian-owned and ships pre-configured for Australian-hosted models on scx.ai — your code and your context stay onshore by default.

Default endpoint

Out of the box, fulcrum talks to api.scx.ai/v1 with the MiniMax-M2.5 flagship coding model. No accidental data egress to overseas endpoints unless you change the config.

Provider-agnostic

Any OpenAI-compatible chat-completions endpoint works — OpenAI, Vercel AI Gateway, Ollama, vLLM, LiteLLM, LM Studio, Together, Groq, Mistral, DeepSeek. Just swap base_url + api_key + model.

Local-first

Config, memory, plugins, skills, and marketplace clones all live under ~/.fulcrum/ on your machine.

Ready to try it?

Get Fulcrum