You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Spawn templates. A template is a named, partial spawn input kept as <config dir>/templates/<name>.json; sesshin spawn --template opus --prompt '…' merges your options over it, in the operation, so -i callers get templates too ({"template": "opus", …}). Its keys are job, cwd, type, name, prompt or prompt_file, args, vars, start_timeout_secs, and description; yours win, args add after the template's, and cwd falls back to the directory you ran sesshin in. sesshin templates lists them, flagging any spawn would refuse. (Templates, Merging a template, configuration)
Which template launched a session is recorded: template in sesshin.json and the session view, null for a session launched without one. Needs migrate: migration 2 adds template to every sesshin.json (format 2 → 3), and reservations go to format 3 too. Run sesshin migrate after upgrading. A session launched by the previous version that has not started when the new hooks arrive (waiting at the workspace-trust dialog, say) gets its job from SESSHIN_JOB only, with extra{}.
Error changes.not-found gains templates in its details, empty unless a template is what is missing. spawn no longer requires cwd in its input schema (a template, or the working directory, can give it), and its errors are checked in a new order: a template's own errors come before busy, and invalid-input for a missing cwd after them.