-
Notifications
You must be signed in to change notification settings - Fork 0
Workflows Extending
Fischer Hunt edited this page Aug 30, 2026
·
2 revisions
Extensions are ordinary executable child processes speaking a versioned JSONL protocol over stdin/stdout — no embedded scripting runtime. Start with docs/extensions.md and the working examples under docs/extensions/.
- Tools the model calls (override a built-in by using its name)
-
Slash commands in the
/picker - Hooks — rewrite or swallow a submitted line, act at startup
- Session naming from a command or tool result
Extensions cannot ask the user questions; the protocol deliberately has
no such method. An extension that needs input from the person at the
keyboard reads it from configuration under ~/.e/.
| Example | What it shows |
|---|---|
hello.mjs |
minimal tool |
scaffold.mjs |
starting point for a new extension |
mcp.mjs |
one MCP stdio server's tools as extension tools |
subagent.mjs |
bounded delegated e ask --json child turns |
worktree.mjs |
startup-hook launcher (e -w) |
gate.mjs / protected.mjs
|
tool_call hook guarding paths |
(empty on purpose — this is where community setups land: editors, containers, CI harnesses, multi-agent topologies. Note the e version you wrote the recipe against.)