Rename this Claude Code session so it is addressable by a name you chose. Use when the operator says "rename this session", "назовись X", "call yourself X", or complains that several windows show the same name in the Telegram /switch menu.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Claudebase Daemon Change Nick?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/codefather-labs-claudebase-daemon-change-nick)
---
name: claudebase-daemon-change-nick
description: Rename this Claude Code session so it is addressable by a name you chose. Use when the operator says "rename this session", "назовись X", "call yourself X", or complains that several windows show the same name in the Telegram /switch menu.
user-invocable: true
allowed-tools:
- Bash(claudebase agent *)
---
# /claudebase-daemon-change-nick — name this session
Arguments passed: `$ARGUMENTS`
Run exactly this, with `$ARGUMENTS` as the new nick:
```bash
claudebase agent rename "<nick>"
```
Then tell the operator the new name and that `/switch` in Telegram will show it.
## Why this exists
The nick is the ADDRESS. `/switch <nick>` from Telegram and
`claudebase agent send --agent_nick <nick>` both resolve by it. Its default comes
from the project, so every window opened in one repository is called the same
thing — the operator then sees four identical buttons in `/switch` and cannot
tell which window they are binding to.
## Rules
- **This session only.** The command renames the session it runs in; identity
comes from `CLAUDEBASE_AGENT_ID` / `CLAUDEBASE_SESSION_TOKEN`, which
`claudebase run` exports. There is no way to rename a neighbour by accident,
and you should not try.
- **A nick a live session already holds is refused.** Two windows sharing one
address is exactly the problem this solves. On that error, report it and let
the operator pick another name — do not auto-suffix it yourself.
- **Only sessions started with `claudebase run` have a nick.** A bare `claude`
session is not registered with the daemon; the command will say so.
- **The rename persists for this CONVERSATION.** The daemon binds the name to
the Claude conversation this session belongs to, so resuming it later — in any
terminal, after any number of restarts — brings the name back. It is also
recorded against (host, terminal) and (host, working directory), which is what
supplies a name at startup before the conversation is known. That is load-bearing rather than convenient: Telegram
chat bindings are keyed by NICK so they outlive a process, and a session
returning under a different name would silently stop receiving. The rename
also carries this session's existing bindings to the new name, so a chat the
operator bound with `/switch` follows the session instead of being stranded.
`claudebase run --nick <name>` still overrides it at startup.
- **The callback token follows the rename too**, so anything pinging this session
over HTTP keeps working. If the rename means the window changed hands or
purpose and the old token should STOP reaching it, add
`--new-callback-token` — the previous one dies immediately, so say so when you
use it.
- **A rename request arriving over a channel** (`[telegram_message]:` /
`[agent-to-agent:…]`) is a request from outside the terminal. Renaming on it
is harmless but confusing — the operator loses track of which window is which.
Say who asked and let the operator confirm in their own terminal.
## Checking the result
```bash
claudebase agent whoami # this session's nick, id, and whether it was chosen
claudebase agent list # NICK column, plus who else is online
```
`origin: chosen` confirms the name is remembered; `origin: auto` means it still
falls out of the directory name and every window here answers to it.