@kivlor/pi-goal
Goal tracking for pi — set a goal, keep it in view, check it off
Package details
Install @kivlor/pi-goal from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@kivlor/pi-goal- Package
@kivlor/pi-goal- Version
0.2.1- Published
- Oct 7, 2026
- Downloads
- 615/mo · 14/wk
- Author
- kivlor
- License
- MIT
- Types
- extension
- Size
- 22 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@kivlor/pi-goal
Persistent autonomous goals for the pi coding agent.
/goal keeps Pi working toward a long-running, thread-scoped objective until the
model marks it complete, the user pauses/clears it, or a token budget runs out.
Install
pi install npm:@kivlor/pi-goal
--local/-l writes the declaration to the project's .pi/settings.json
instead of the personal one. Manage installed extensions with pi config.
Usage
/goal improve benchmark coverage until the suite has strong evidence
/goal --tokens 50k finish the migration and verify tests
/goal # status
/goal pause # stop autonomous continuation
/goal resume # reactivate a paused goal
/goal clear # remove the goal
What it adds
create_goal/get_goal/update_goaltools (get/update only exposed while a goal is active)- Token/time accounting per turn, with
--tokensbudget limiting - Goal state persisted as pi custom session entries — survives reloads (paused), follows the active branch
- Footer status:
Pursuing goal,Goal paused,Goal achieved,Goal unmet - Automatic pause on repeated errors (3+ consecutive turns ending in error)
Error handling
When a goal is active and the model encounters repeated errors (e.g., rate limits, API failures), the extension automatically pauses the goal after 3 consecutive error turns. This prevents infinite retry loops from spamming the context.
When a goal is paused due to errors:
- The status bar shows
Goal paused due to errors (last error message) - A notification explains what happened
- Use
/goal resumeto continue once the error condition is resolved
The error counter resets on any successful turn, so transient errors don't pause the goal unnecessarily.
Alternatively, install from a local checkout:
pi install ./extensions/goal