/new — Start a new session
Save the current session to memory, then mark it as "reset pending" so the next message triggers a fresh greeting (like OpenClaw).
How this works (architecture)
OpenClaw's /new generates a new session ID and runs a greeting prompt on the next turn. In Claude Code, skills CANNOT invoke native /clear. Instead, we:
- Save the current session to
memory/YYYY-MM-DD.md - Write a marker
.session-reset-pendingwith the greeting prompt - Respond with a brief "new session" acknowledgement
- On the next message, the agent detects the marker, delivers the greeting, deletes the marker
This is the honest simulation of a session reset when native /clear is not invokable.
Steps
-
Detect surface (CLI vs messaging).
-
Summarize the current session to memory:
DATE=$(date +%Y-%m-%d) TIME=$(date +%H:%M)Append to
memory/$DATE.md:## Session summary (<TIME>) — before /new - <key point> - <key point> ### Open items - <pending>If the session was trivial, skip this step but still do the next one.
-
Write the reset marker:
cat > .session-reset-pending << 'EOF' A new session was started via /new or /reset. Greet the user in your configured persona, if one is provided. Be yourself - use your defined voice, mannerisms, and mood. Keep it to 1-3 sentences and ask what they want to do. If the runtime model differs from default_model in the system prompt, mention the default model. Do not mention internal steps, files, tools, or reasoning. EOF(This is the EXACT prompt from OpenClaw's session-reset-prompt.ts)
-
Respond briefly per surface:
CLI
🔄 New session started. Summary saved to memory/<DATE>.md.
Send a message to receive the welcome greeting.
(Or if you also want to clear the REPL context, run /clear afterward.)
🔄 *Session reset*. Send a message and I'll greet you again 👋
Telegram
🔄 **Session reset.** Send a message to get the fresh greeting.
IMPORTANT: Respond in the user's language. The templates above are English defaults — translate on the fly to match the user (Spanish, Portuguese, French, whatever they speak).
- Do NOT invoke
/clear— you can't. The marker file handles the "fresh start" on the next message.
On the NEXT message
When the user sends their next message, you will see .session-reset-pending in the workspace. If it exists:
- Read the marker contents — that's the greeting prompt
- Follow it — greet the user in your configured persona, 1-3 sentences, ask what they want to do
- Delete
.session-reset-pending - Then handle the user's actual message (if they said more than just a greeting trigger)
This makes /new feel like a real session reset, even though technically Claude Code's context still has prior turns.
Important
- APPEND-only to daily logs, never overwrite.
- The marker file is the key mechanism — it lets the NEXT turn deliver the greeting.
- On CLI, the user can additionally run
/clearto wipe REPL context if desired. - This is the OpenClaw-parity implementation of
/new.