opencode-goalAdd Codex-style long-running goals to OpenCode
9
204
38 in 7 days
40.1
Multi-signal model
1 month ago
2026-07-04
Install and configure
opencode.jsonWrites to this project's opencode.json — applies to this repository only.
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-goal@0.4.3"]
}Writes to ~/.config/opencode/opencode.json — applies to every project.
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-goal@0.4.3"]
}If you want to modify the plugin locally, install it into the project and reference the local path.
shell
pnpm add -D opencode-goalopencode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.
OpenCode server plugin that adds Codex-style /goal behavior for long-running tasks.
Commands
/goal: show the current goal orUsage: /goal <objective>if none exists./goal <objective>: set or replace the active goal without resetting its elapsed-time stats./goal append <text>: append text to the active goal without resetting its elapsed-time stats./goal pause: pause auto-continuation./goal resume: resume auto-continuation./goal clear: remove the goal.
Active goals auto-continue when the session becomes idle. The continuation prompt is based on Codex's goal prompt with all token and budget handling removed.
Tool
The plugin exposes update_goal({ status: "complete" }) only while at least one active goal exists, so inactive sessions do not carry extra tool context.
State
Goal state is saved to disk per session and restored when the OpenCode process restarts. By default it is stored under $XDG_STATE_HOME/opencode-goal or ~/.local/state/opencode-goal; set OPENCODE_GOAL_STATE_FILE to override the state file path. Only wall-clock active time is tracked. Token usage and token budgets are intentionally not tracked or mentioned.
Install
Add the npm plugin to your OpenCode config:
"plugin": [
"opencode-goal",
]
Restart OpenCode after installing. OpenCode installs npm plugins automatically at startup.
Checks
bun install
bun test
bunx tsc --noEmit
Known Gaps
- OpenCode server plugins do not expose Codex's replace-confirmation menu, so
/goal <objective>replaces immediately. - Plan-mode suppression is best effort because plugin events do not always expose the active mode.
- Continuation prompt injection uses OpenCode's experimental message transform hook.