Plan, then execute
When the work is complex enough that you want a plan before any code is written, Friday's Plan tool produces it. The plan can be triggered three ways: Friday decides on its own, you ask for one, or you set Working Style so planning is the default.
When Friday plans on its own
For multi-step prompts, Dispatch often calls Plan automatically without you asking. In Collaborative mode (the default), the runner then injects a "confirm before implementing" message so Dispatch shows you the plan and waits. You'll see something like:
Here's what I'll create:
1. Initialize uv project — run `uv init`, add fastapi and uvicorn
2. Create FastAPI app — main.py with /healthz endpoint
3. Add a test — test_main.py using TestClient
4. Update README — document how to run and test
Shall I proceed with all four?
Read the plan, redirect, or approve. The Plan tool calls a separate model with reasoning effort, so the output is more deliberate than a normal response.
Force a plan
If Friday isn't planning and you want it to, just say so:
Plan how to add OAuth login. Don't write code yet.
Friday calls Plan and shows the result. You can then redirect or approve as above.
Make planning the default with Supervised
Switch Working Style to Supervised in /settings. From then on:
- Dispatch (orchestrator) asks clarifying questions and explains its approach before delegating.
- Workers spawned by Dispatch run autonomously, no further check-ins.
Net result: planning at the dispatch layer, autonomous execution at the thread layer. See Working style.
Tasks come along for free
When Dispatch calls Plan, the runner also turns the plan into entries in the task list. View them with /tasks. Each task can become a thread when Dispatch dispatches it.
Workers don't auto-create tasks from plans. Only Dispatch does.
When to use which path
- You want to think before Friday acts: type "plan this first" or use Supervised mode.
- You don't care about the plan, just the result: Autonomous mode skips both planning prompts and accept prompts.
- You want a deeper plan than Friday's default: ask explicitly. Friday's planner accepts effort hints, so a prompt like "plan this carefully, this is a security-sensitive change" produces a more thorough plan.
Common pitfalls
- Plan ran but you never saw the prompt. You're in Autonomous mode. Friday planned and proceeded. Switch to Collaborative if you want a review gate.
- Friday planned for something trivial. It picked the Plan tool when it didn't need to. Tell it: "skip the plan, just do it." Or run with
--prompt(autostart) which defaults to Autonomous. - The plan is wrong. Don't approve. Tell Friday what to change: "step 3 should use httpx instead of requests."
- The plan looks fine but the implementation drifted. Self-review (on by default) usually catches this. If it doesn't, the Review thread changes recipe walks the options.
Read next
- Build a feature and open a PR: the standard workflow this fits into.
- Working style: the setting that controls planning behavior.
- Tasks: the task list that plans populate.