When Sessions Load Prompts
Installing or upgrading a kit changes files on disk. Whether a session sees the change depends on how it gets its instructions. There are two paths.
| Path | When it is read | Picks up a kit update |
|---|---|---|
| Profile (system prompt) | Once, when the session process starts | On the next isesh start after a stop |
Prompt (skit prompt show <name>) | Every time the AI runs the command | Immediately, on the next call |
Profiles: read at session start
isesh start <name> -p <profile> stores only the profile name in the session's config. Each time the session starts, isesh loads the profile file from ~/.ist/profiles/ (<profile>.md, or <profile>.json if there is no .md) and hands its body to the AI CLI as the system prompt:
- Claude Code and Codex receive it when the CLI is launched (for Claude Code, as
--system-prompt).{{SESSION_NAME}}in the profile is replaced with the session name. - Other CLIs have no such flag. When started with
-d,iseshwaits for the CLI to become ready and sends the profile as the first message.
The profile's tool permissions are applied at launch in the same way.
After that, the running process holds the system prompt it was started with. Editing or upgrading the profile file does not change a session that is already running.
To pick up a new profile:
isesh stop <name>
isesh start <name>
isesh start refuses to start a session that is still running, so stop it first. A restart begins a new conversation; earlier context in that session is not carried over.
Prompts: read on demand
Prompts are not loaded at start. A profile tells the AI which prompts to read and when, for example:
Before starting any development work, run
skit prompt show conventions --profile tda-worker 2>/dev/null
|| skit prompt show conventions
skit prompt show reads the installed file every time it runs. So:
- After
skit installupgrades a kit, the nextskit prompt showin any session returns the new content, including in sessions that are already running. - Content the AI already read earlier stays in its conversation as it was. A running session does not re-read a prompt on its own; it reads it again only when its instructions tell it to (or you ask it to).
- A prompt the new kit version removed returns
Prompt not foundon the next call.
The same applies to slots like conventions: edit the file, and the next lookup sees it.
Putting it together
When you upgrade a kit (or an IST release) while sessions are running:
| What changed | Running session | What to do |
|---|---|---|
| Prompt content | Sees it on its next skit prompt show | Ask the session to re-read the prompt if it matters now |
| Profile (system prompt, allowed tools) | Keeps the old one | Restart the session: isesh stop, then isesh start |
CLIs (isesh, itda, …) | Each new command uses the new version | Nothing, unless the running AI relies on options that changed |
| Your own slot files | Seen on the next lookup | Nothing |
This split is deliberate. Keep the profile short and stable (role, rules, which prompts to read), and put detail that changes often in prompts. Then most kit updates reach running sessions without a restart.
Next
- Versioned Prompts: why prompts ship in kits
- What Changes on an Upgrade: everything a kit or release upgrade changes
- skit prompt: scope rules for
skit prompt show