CLI reference¶
Run Point inside the Git repository that owns the context.
point stash¶
point stash \
[--title <text>] \
[--session-file <session.jsonl>] \
[--source-agent <name>] \
[--source-session <id>] \
[--parent <point>]... \
[--branch <name>] \
[--no-active-parents]
Preserve unfinished participant-visible Session events as a Local Stash Point. If --session-file is omitted and standard input is piped, Point reads JSONL from standard input.
Each non-empty line must be a JSON object with a non-empty type:
{"id":"e1","type":"message","role":"user","content":"Keep retry bounded."}
{"id":"e2","type":"message","role":"assistant","content":"I will verify the failure path."}
{"id":"e3","type":"tool_call","call_id":"t1","name":"test","arguments":{"target":"retry"}}
{"id":"e4","type":"tool_result","call_id":"t1","name":"test","content":"passed"}
The CLI uses active resumed Points and the current Point Branch Tip as parents. Saving advances that branch; the first normal save creates master.
--no-active-parents creates intentionally unrelated work. It is not needed for normal saving.
point list¶
List immutable Points, type, visibility, branch tips, and title.
point show¶
Inspect a Point without changing Session lineage. --full renders its saved events. --json returns structured events.
point resume¶
With no argument, Resume selects master. It traverses every reachable parent in oldest-to-newest order and returns each saved Session exactly once. The selected tips become parents of the next saved Point.
An exact Point ID resumes detached by default. A named Point Branch remains active. Use --branch to create or continue an explicitly named direction.
Several arguments create multi-parent lineage. Point does not merge their natural-language content.
point branch¶
List Point Branches or create one at a Point. Point Branches are Git Refs under refs/points/heads/ and are independent from repository Git Branches.
point push¶
Publish the selected Point and every ancestor required to reconstruct it. When the target is a local Point Branch, Point also publishes that movable Ref. Unrelated local Points stay local.
--with-code atomically includes the current Git Branch in the same Git push.
point fetch¶
Fetch immutable Point nodes and published Point Branches. Remote branches appear as <remote>/<branch>. A unique remote master can be resumed with plain point resume when no local master exists.
point hooks¶
Install or inspect the optional post-commit integration. Point refuses to overwrite an unrelated existing Hook.
The Hook creates a Commit Point only after an Agent adapter has prepared real Session events for the same Git base and staged tree. A normal commit without prepared events creates no Point.
Integration commands¶
Agent integrations use these commands; people normally do not:
point _prepare-commit --session-file <session-segment.jsonl>
point _cancel-commit
point _post-commit
_prepare-commit records the new Session segment, active Point parents, Point Branch Tip, current Git HEAD, and staged Git tree. The Hook calls _post-commit after a successful commit. If the commit fails, the integration calls _cancel-commit so stale context cannot attach to a later change.
Machine-readable output¶
Place --json before the subcommand:
Agent environments normally provide a stable Session identifier automatically. Integrations without one can set POINT_SESSION_ID; this plumbing is intentionally absent from the normal user workflow.