Fen registries

Source-scanned registry entries supplied by first-party extensions: commands, tools, providers, presenters, panels, status items, and related extension surfaces.

commands

Registered slash commands.

commands registry
NameDescriptionSource
(dynamic) Registered (dynamic) command registry entry.packages/util/src/fen/util/panel_toggle.fnl:61
agents List discovered subagents and their model/timeout metadataextensions/behaviors/companions/subagent/init.fnl:2110
animations Toggle TUI busy animationsextensions/adapters/presenters/tui/init.fnl:875
btw Open or focus an ephemeral read-only side-agent chatextensions/adapters/presenters/tui/init.fnl:826
btw-use Copy the btw agent's last reply into the main input draftextensions/adapters/presenters/tui/init.fnl:833
cancel-all Cancel current turn and clear queuesextensions/behaviors/inspectors/queue/commands/queue.fnl:186
claude-memory Inspect read-only Claude Code memory index resolutionextensions/behaviors/companions/claude-memory/init.fnl:77
compact Summarize older context and keep recent messages in this sessionextensions/behaviors/companions/compact/init.fnl:408
decide Experimental decisions: /decide undoextensions/behaviors/kernel/decide/init.fnl:31
docs Browse runtime docs: /docs [topic] [name]extensions/behaviors/kernel/docs/init.fnl:578
errors Toggle recent error details / tracebacksextensions/adapters/presenters/tui/init.fnl:907
expand Toggle full vs collapsed tool-result bodiesextensions/adapters/presenters/tui/init.fnl:846
extensions Pick an extension, show details, inspect live registry, or enable/disable one in settingsextensions/behaviors/inspectors/extensions/commands/extension.fnl:649
goal Run a bounded autonomous goal workflowextensions/behaviors/companions/goal/init.fnl:774
handoff Summarize this session, seed a fresh session with the summaryextensions/behaviors/companions/handoff/init.fnl:140
help Show available commands and controlsextensions/behaviors/kernel/essentials/commands/help.fnl:94
markdown Toggle Markdown rendering of assistant textextensions/adapters/presenters/tui/init.fnl:861
model Switch model (fuzzy selector; exact id/index switches directly)extensions/behaviors/kernel/essentials/commands/model.fnl:224
n Alias for /newextensions/behaviors/actions/sessions/commands/session.fnl:537
new Reset the current conversation and start a fresh sessionextensions/behaviors/actions/sessions/commands/session.fnl:176
plan Draft, revise, show, and approve a read-only execution planextensions/behaviors/companions/plan/init.fnl:338
prefer Save a durable user preference: /prefer [project|user] <text>extensions/behaviors/kernel/default-prompt/prefer.fnl:177
profile Capture Lua instruction samples and measured TUI wall gaps; start|mark|stop|status|report|save|reset; exports Speedscope and folded flame-graph stacksextensions/behaviors/inspectors/profiler/commands.fnl:150
r Alias for /reloadextensions/behaviors/actions/sessions/commands/session.fnl:562
redraw Force a full terminal repaint to recover from corruptionextensions/adapters/presenters/tui/init.fnl:932
reload Hot-reload core modules and source overlaysextensions/behaviors/actions/sessions/commands/session.fnl:479
reload-extension Reload one external extension by nameextensions/behaviors/inspectors/extensions/commands/extension.fnl:612
resume Resume a session (overlay if no arg; id/prefix/path/index if given)extensions/behaviors/actions/sessions/commands/session.fnl:551
sessions Pick a recent session to resume (overlay)extensions/behaviors/actions/sessions/commands/session.fnl:545
simplify Review changed code and apply quality cleanups via subagent reviewersextensions/behaviors/companions/simplify/init.fnl:239
skills Pick a skill, show details, or list discovered Agent Skillsextensions/behaviors/companions/skills/init.fnl:732
subagents Show active/recent subagent runs; use show, steer, or cancel with a run idextensions/behaviors/companions/subagent/init.fnl:2116
thinking Show/set thinking effort; /thinking blocks on|off toggles displayextensions/behaviors/kernel/essentials/commands/thinking.fnl:114
thinking-blocks Show or hide assistant thinking blocksextensions/adapters/presenters/tui/init.fnl:890
todos Toggle the todo panel; /todos show prints the current listextensions/behaviors/companions/todo/init.fnl:321

tools

Registered agent tools.

tools registry
NameDescriptionSource
account_usage Inspect Codex account-wide quota percentages and reset times (not context capacity or conversation tokens). Demand refresh, at most once per minute; failures retain stale data.extensions/adapters/providers/openai/usage.fnl:494
agent_state Read structured state of the running agent. Read-only; does not evaluate code. Query is a tiny Fennel-shaped data language. Examples: (:get :model), (:get :thinking), (:count (:get :messages)), (:get :messages -1), (:pluck (:get :tools) :name), (:get :extensions :panels), (:where (:get :messages) :role :assistant), (:last (:where (:get :messages) :role :assistant)), (:slice (:get :messages) -5 5), (:keys (:get)). Prefer narrow queries over dumping large roots. Output defaults to JSON; use format=fennel for Fennel rendering when available.extensions/behaviors/companions/agent-state/init.fnl:94
builtin-tool-registry Dynamic loop registering every built-in tool spec from the builtin tools registry.extensions/behaviors/kernel/builtin-tools/init.fnl:20
compact Compact this session's model context when it is becoming too large. Summarizes older messages, keeps recent messages verbatim, and persists the compaction for session resume. Call only when substantial context can be discarded; do not call repeatedly or on short sessions.extensions/behaviors/companions/compact/init.fnl:415
extension Inspect loaded extensions and live registries, or reload one external extension. Actions: list, show, registry, reload. Read actions do not require interactive state; reload does.extensions/behaviors/inspectors/extensions/commands/extension.fnl:631
fen_docs Read or search fen runtime docs and extension contracts. Useful for implementing extensions: inspect register kinds, canonical types, event shapes, and live commands/tools/providers. Topics: topics, commands, tools, providers, auth-backends, session-backends, presenters, controls, status, panels, prompt-fragments, introspectors, events, types, register-kinds, interfaces, extensions. Use name for a specific entry, e.g. {topic:'register-kinds', name:'tool'} or {topic:'types', name:'ToolResultMessage'}. Use query to search docs, optionally scoped by topic.extensions/behaviors/kernel/docs/init.fnl:602
goal Start a bounded autonomous goal workflow during the active agent turn.extensions/behaviors/companions/goal/init.fnl:780
models Inspect model providers without exposing credentials. Actions: current, providers, and list.extensions/behaviors/companions/agent-state/init.fnl:111
plan Draft, revise, show, or cancel a read-only execution plan. This tool never approves or executes a plan.extensions/behaviors/companions/plan/init.fnl:344
profile Control fen's statistical profiler for self-investigation. Actions: start, status, report, stop, reset, or save. Start accepts period (at least 100) and mode (functions or lines); tool save output-directory is confined to fen's profiles artifact root (or omit it to use an operator-configured default). Samples measure Lua VM instructions, not wall-clock time.extensions/behaviors/inspectors/profiler-tool/init.fnl:8
queue Inspect pending steering and follow-up input. This agent-facing tool is read-only; use /queue for explicit user-owned clear and mode changes.extensions/behaviors/inspectors/queue/commands/queue.fnl:178
reload Queue a reload request for after the current agent turn is fully idle. scope is reload for normal state-preserving reload, or registries for explicit registry recovery; reason is recorded for the user and logs. Restart and resume remain the full-process recovery path.extensions/behaviors/actions/sessions/commands/session.fnl:489
simplify Queue a behavior-preserving simplification pass over changed code in the active agent turn.extensions/behaviors/companions/simplify/init.fnl:245
skill Load a discovered skill's full instructions by name. The system prompt lists available skill names and descriptions; use this tool when a task matches one.extensions/behaviors/companions/skills/init.fnl:717
subagent Use models before a launch to refresh exact models. review-worktrees creates 1–4 detached sibling worktrees for ordinary read-only subagent launches; cleanup-review-worktrees removes only unchanged worktrees it created. Other values inspect or manage runs.extensions/behaviors/companions/subagent/init.fnl:2131
todo_write Create or update the structured todo list for this session. Use for non-trivial multi-step work. This tool overwrites the full current list; provide every item that should remain. Status must be pending, in_progress, or completed, with at most one in_progress item. Use an empty items array to clear the list.extensions/behaviors/companions/todo/init.fnl:299

providers

Registered LLM providers.

providers registry
NameDescriptionSource
anthropic Anthropic Messages provider using ANTHROPIC_API_KEY and the default claude-haiku-4-5 model.extensions/adapters/providers/anthropic/init.fnl:20
mock Deterministic, scriptable mock provider; requires no credentials. Drive responses with FEN_MOCK_SCRIPT or the mock-script provider option.extensions/adapters/providers/mock/init.fnl:22
openai OpenAI Chat Completions provider using OPENAI_API_KEY and the default gpt-5.4-nano model.extensions/adapters/providers/openai/init.fnl:50
openai-codex ChatGPT subscription/Codex Responses provider using the openai-codex OAuth auth backend and default gpt-6.1-sol model.extensions/adapters/providers/openai/init.fnl:70
openai-responses OpenAI Responses API provider using OPENAI_API_KEY and the default gpt-5.4-nano model.extensions/adapters/providers/openai/init.fnl:56
openrouter OpenRouter Chat Completions provider using OPENROUTER_API_KEY and a curated tool-capable model list.extensions/adapters/providers/openrouter/init.fnl:26
sakana Sakana AI Responses provider using SAKANA_API_KEY and the default fugu-ultra model.extensions/adapters/providers/sakana/init.fnl:31

auth-backends

Registered auth backends.

auth-backends registry
NameDescriptionSource
openai-codex ChatGPT subscription PKCE OAuth credentials stored in fen's auth.json.extensions/adapters/providers/openai/init.fnl:59

session-backends

Registered session persistence backends.

session-backends registry
NameDescriptionSource
jsonl Append-only JSONL session backend under XDG state. Records canonical messages, replayable via --continue / /resume.extensions/adapters/session-backends/jsonl/init.fnl:8

presenters

Registered interactive presenters.

presenters registry
NameDescriptionSource
goal-headless Registered goal-headless presenter.extensions/adapters/presenters/goal_headless/init.fnl:109
json Registered json presenter.extensions/adapters/presenters/json/init.fnl:85
print Registered print presenter.extensions/adapters/presenters/print/init.fnl:59
rpc Registered rpc presenter.extensions/adapters/presenters/rpc/init.fnl:365
stdio Registered stdio presenter.extensions/adapters/presenters/stdio/init.fnl:267
tui Registered tui presenter.extensions/adapters/presenters/tui/init.fnl:758
web Registered web presenter.extensions/adapters/presenters/web/init.fnl:167

controls

Registered keyboard/UI controls.

controls registry
NameDescriptionSource
hard-refresh Redraw the screen / recover from terminal corruptionextensions/adapters/presenters/tui/init.fnl:816
jump-to-live-bottom Jump to the live bottom and resume following transcript outputextensions/adapters/presenters/tui/init.fnl:796
jump-to-user-message Jump to the latest user message; repeat for previous messagesextensions/adapters/presenters/tui/init.fnl:791
list-workspaces Open the tab list and switch with the modal selectorextensions/adapters/presenters/tui/init.fnl:786
next-workspace Switch to the next presenter tabextensions/adapters/presenters/tui/init.fnl:776
previous-workspace Switch to the previous presenter tabextensions/adapters/presenters/tui/init.fnl:781
quit Quit; ctrl-c also clears input or cancels a busy turnextensions/adapters/presenters/tui/init.fnl:811
suspend Suspend to the shell (resume with fg)extensions/adapters/presenters/tui/init.fnl:821
toggle-thinking-blocks Toggle thinking blocksextensions/adapters/presenters/tui/init.fnl:806
toggle-tool-results Toggle tool-result bodiesextensions/adapters/presenters/tui/init.fnl:801

status

Registered status-line items.

status registry
NameDescriptionSource
attention Registered attention status-line item.extensions/adapters/presenters/tui/init.fnl:670
attention Registered attention status-line item.extensions/adapters/presenters/web/init.fnl:151
codex-quota Registered codex-quota status-line item.extensions/adapters/providers/openai/usage.fnl:416
context Registered context status-line item.extensions/adapters/presenters/web/init.fnl:118
context Registered context status-line item.extensions/adapters/presenters/tui/init.fnl:627
copy Registered copy status-line item.extensions/adapters/presenters/tui/init.fnl:698
errors Registered errors status-line item.extensions/adapters/presenters/tui/init.fnl:721
follow-up-queue Registered follow-up-queue status-line item.extensions/adapters/presenters/tui/init.fnl:661
follow-up-queue Registered follow-up-queue status-line item.extensions/adapters/presenters/web/init.fnl:142
goal Registered goal status-line item.extensions/behaviors/companions/goal/init.fnl:828
model Registered model status-line item.extensions/adapters/presenters/web/init.fnl:109
model Registered model status-line item.extensions/adapters/presenters/tui/init.fnl:605
plan Registered plan status-line item.extensions/behaviors/companions/plan/init.fnl:361
scroll Registered scroll status-line item.extensions/adapters/presenters/tui/init.fnl:684
simplify Registered simplify status-line item.extensions/behaviors/companions/simplify/init.fnl:255
steering-queue Registered steering-queue status-line item.extensions/adapters/presenters/web/init.fnl:133
steering-queue Registered steering-queue status-line item.extensions/adapters/presenters/tui/init.fnl:652
subagent Registered subagent status-line item.extensions/behaviors/companions/subagent/init.fnl:2122
thinking Registered thinking status-line item.extensions/adapters/presenters/tui/init.fnl:619
todo Registered todo status-line item.extensions/behaviors/companions/todo/init.fnl:328
version Registered version status-line item.extensions/adapters/presenters/tui/init.fnl:729

panels

Registered presenter panels.

panels registry
NameDescriptionSource
(dynamic) Registered (dynamic) panel registry entry.packages/util/src/fen/util/panel_toggle.fnl:62
(dynamic) Registered (dynamic) panel registry entry.extensions/adapters/presenters/tui/init.fnl:743
(dynamic) Registered (dynamic) panel registry entry.extensions/behaviors/companions/goal/init.fnl:832
(dynamic) Registered (dynamic) panel registry entry.extensions/behaviors/companions/plan/init.fnl:365
(dynamic) Registered (dynamic) panel registry entry.extensions/behaviors/companions/todo/init.fnl:327
busy Web presenter spinner row shown while the agent is busy.extensions/adapters/presenters/web/init.fnl:161
busy TUI busy-state panel showing spinner, retry information, current turn elapsed time, and the next ctrl-c action.extensions/adapters/presenters/tui/init.fnl:747
completion TUI inline slash-command/argument completion menu, filter-as-you-type above the input line.extensions/adapters/presenters/tui/init.fnl:751
docs Runtime documentation browser panel backing the /docs command and fen_docs tool.extensions/behaviors/kernel/docs/init.fnl:623
errors TUI error introspection panel showing recent error summaries and traceback details.extensions/adapters/presenters/tui/init.fnl:742
extensions Extension detail and picker panel backing the /extensions command.extensions/behaviors/inspectors/extensions/commands/extension.fnl:670
mem Memory diagnostics panel; /mem gc forces a GC pass, /mem help lists subcommandsextensions/behaviors/companions/mem/init.fnl:233
prompt Toggle the prompt-fragments panel; /prompt rendered emits the rendered prompt; /prompt stats reports per-fragment sizesextensions/behaviors/inspectors/prompt/commands/prompt.fnl:100
queue Toggle the queue panel; /queue clear|mode preserve their actionsextensions/behaviors/inspectors/queue/commands/queue.fnl:157
skills Skill picker/detail panel backing the /skills command.extensions/behaviors/companions/skills/init.fnl:780
status Toggle the status panel (model, provider, tokens, session)extensions/behaviors/inspectors/status/commands/status.fnl:154
usage Toggle Codex account quota; demand refresh at most once per minute.extensions/adapters/providers/openai/usage.fnl:424

prompt-fragments

Registered system-prompt fragments.

No source-scanned registrations.

extensions

First-party extension manifests.

extensions registry
NameDescriptionSource
agent_state Read-only introspection tool for the running agentextensions/behaviors/companions/agent-state/manifest.fnl:1
builtin_tools Built-in fen workspace tools and on-demand tool discovery.extensions/behaviors/kernel/builtin-tools/manifest.fnl:1
claude_memory Read-only, bounded Claude Code project memory indexextensions/behaviors/companions/claude-memory/manifest.fnl:1
compact Context compaction command and agent tool: summarize older messages and keep recent context.extensions/behaviors/companions/compact/manifest.fnl:1
decide Experimental: opt-in advisory decisions from TypeSafe's Jev on OpenRouter or OpenAI Decisions API, used by compaction, handoff hints, and busy-line routing.extensions/behaviors/kernel/decide/manifest.fnl:1
default_prompt First-party default system prompt policyextensions/behaviors/kernel/default-prompt/manifest.fnl:1
docs In-agent runtime documentation browserextensions/behaviors/kernel/docs/manifest.fnl:1
essentials Essential fen slash commands: help and model selection.extensions/behaviors/kernel/essentials/manifest.fnl:1
extensions_inspector Extension inspector: /extensions, /reload-extension, and extension detail panel.extensions/behaviors/inspectors/extensions/manifest.fnl:1
goal Goal companion: bounded autonomous objective execution.extensions/behaviors/companions/goal/manifest.fnl:1
goal_headless Headless presenter for bounded goal runsextensions/adapters/presenters/goal_headless/manifest.fnl:1
handoff Session handoff command: summarize current context and seed a fresh session.extensions/behaviors/companions/handoff/manifest.fnl:1
json One-shot structured JSON presenter for --presenter jsonextensions/adapters/presenters/json/manifest.fnl:1
mem Runtime memory diagnostics commandextensions/behaviors/companions/mem/manifest.fnl:1
plan Plan companion: draft, revise, inspect, and approve read-only execution plans.extensions/behaviors/companions/plan/manifest.fnl:1
print One-shot stdout presenter for --printextensions/adapters/presenters/print/manifest.fnl:1
profiler Opt-in Lua instruction-sampling profiler with Speedscope and folded flame-graph exports via /profileextensions/behaviors/inspectors/profiler/manifest.fnl:1
profiler_tool Explicit opt-in model-facing profiler tool for contributors; not embedded in release manifests.extensions/behaviors/inspectors/profiler-tool/manifest.fnl:1
prompt Prompt inspector: /prompt command and prompt-fragment panel.extensions/behaviors/inspectors/prompt/manifest.fnl:1
provider_anthropic First-party Anthropic Messages provider.extensions/adapters/providers/anthropic/manifest.fnl:1
provider_mock Deterministic, scriptable mock provider for tests, smoke runs, and offline dev.extensions/adapters/providers/mock/manifest.fnl:1
provider_openai First-party OpenAI provider family (Chat Completions, Responses, Codex subscription, and Codex OAuth auth).extensions/adapters/providers/openai/manifest.fnl:1
provider_openrouter First-party OpenRouter provider (curated OpenAI-Chat-Completions-compatible gateway models).extensions/adapters/providers/openrouter/manifest.fnl:1
provider_sakana First-party Sakana AI provider (OpenAI-Responses-compatible Fugu models).extensions/adapters/providers/sakana/manifest.fnl:1
provider_shared Shared transport helpers for first-party provider adapters (retry/backoff). Registers no user-facing surface.extensions/adapters/providers/shared/manifest.fnl:1
queue Queue inspector: /queue, /cancel-all, and queue panel.extensions/behaviors/inspectors/queue/manifest.fnl:1
rpc Live wire-protocol child presenter for --presenter rpcextensions/adapters/presenters/rpc/manifest.fnl:1
session_jsonl JSONL session backendextensions/adapters/session-backends/jsonl/manifest.fnl:1
sessions Conversation and session lifecycle commands plus an agent-callable hot-reload tool.extensions/behaviors/actions/sessions/manifest.fnl:1
simplify Simplify companion: fan out subagent reviewers over the diff and apply quality cleanups.extensions/behaviors/companions/simplify/manifest.fnl:1
skills Agent Skills discovery and prompt fragmentextensions/behaviors/companions/skills/manifest.fnl:1
status Runtime status inspector: /status command and status panel.extensions/behaviors/inspectors/status/manifest.fnl:1
stdio Line-mode stdin/stdout presenterextensions/adapters/presenters/stdio/manifest.fnl:1
steering Steering/follow-up input pipeline handler and queue service consumed by the agent loop and queue commands.extensions/behaviors/kernel/steering/manifest.fnl:1
subagent Delegate a task to a child fen agent with isolated contextextensions/behaviors/companions/subagent/manifest.fnl:1
todo Structured todo list companion tool, panel, and status itemextensions/behaviors/companions/todo/manifest.fnl:1
tui First-party termbox2 presenterextensions/adapters/presenters/tui/manifest.fnl:1
web First-party LuaSocket/SSE browser presenterextensions/adapters/presenters/web/manifest.fnl:1