Not live yet. The most beautiful coding agent ever made is almost here — and it's free.Join the waitlist →
Docs

Hooks.

Bring your team's rules into the loop.

picasso / docs / hooksindexed
Docs
Hooks

Bring your team's rules into the loop.

Pre-tool linterRejects writes outside the workspace and shell commands that bypass package scripts.
Post-tool formatterRuns the configured formatter after accepted edits, then reports changed files back into the loop.
Pre-commit signerAdds signature and branch-policy checks before commit creation.
HookWhen it runsCommon usepre_tool.Before a tool call.Block risky shell commands.post_tool.After a tool call.Format changed files.pre_plan.Before a plan draft.Inject project rules.
hooks: pre_tool: ./scripts/picasso/pre_tool.js post_tool: pnpm format --changed

Hook points.

HookWhen it runsCommon use
pre_tool.Before a tool call.Block risky shell commands.
post_tool.After a tool call.Format changed files.
pre_plan.Before a plan draft.Inject project rules.
post_plan.After a plan draft.Require reviewer labels.
on_error.When a step errors.Send a notification.
on_goal_budget.At budget thresholds.Pause or alert.
pre_commit.Before commit.Sign or lint.
post_session.After a session.Export summary.

Configuration.

Hooks live in project configuration and run around the agent loop. A hook can block risky commands, format accepted edits, notify on repeated failures, or pause a goal at a budget threshold.

hooks:
pre_tool: ./scripts/picasso/pre_tool.js
post_tool: pnpm format --changed
on_goal_budget: ./scripts/notify-budget.sh
post_session: picasso memory export > .picasso/latest-memory.jsonl

Examples.

Pre-tool linter.

Rejects writes outside the workspace and shell commands that bypass package scripts.

Post-tool formatter.

Runs the configured formatter after accepted edits, then reports changed files back into the loop.

Pre-commit signer.

Adds signature and branch-policy checks before commit creation.

On-error notifier.

Routes failing goals or repeated verification failures to the right channel.

Budget alerter.

Pauses a goal before spend exceeds policy and asks for explicit approval.

Security model.

Hooks run inside the selected permission mode and inherit the workspace boundary. They are automation, not a bypass around approvals, network policy, or the OS sandbox.

No secret logging.

Hook output is redacted with the same secret-detection policy used by tool calls.

No hidden writes.

Writes created by hooks are visible in the session diff.

Related docs.

CLI.

Run hooks through commands and CI.

Loop.

Understand where hooks sit in plan, act, observe, and reflect.

The waitlist
Code Freely.

Picasso for Mac is almost here — a coding agent that looks the way serious tools should, and costs what creative freedom should: nothing. Leave your email and be first on the canvas.

Not live yet. Free for developers when it is — that's the point.

Sponsors and labs — the early canvas is yours. Choose Sponsor or Lab above and we'll reach out before launch.