Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Sessmgr

v1.0.1

Manage OpenClaw sessions by naming, listing, switching, creating, renaming, saving, and deleting them to persist and recover context by name.

0· 101·0 current·0 all-time
byJoe Huss@detain

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for detain/sessmgr.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Sessmgr" (detain/sessmgr) from ClawHub.
Skill page: https://clawhub.ai/detain/sessmgr
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install sessmgr

ClawHub CLI

Package manager switcher

npx clawhub@latest install sessmgr
Security Scan
Capability signals
Requires OAuth tokenRequires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The code and SKILL.md implement naming, listing, reloading, creating, renaming, saving, and deleting session-name mappings stored under ~/.openclaw/agents/main/sessions, which matches the skill description. However, the package expects a Python runtime (README says 'Python 3') and reads OPENCLAW_SESSION_ID from the environment, neither of which are declared in the registry metadata (required env vars/binaries are empty). Also _meta.json owner/version differ from registry metadata, which is an inconsistency in provenance.
Instruction Scope
Runtime instructions and the Python script limit their file access to ~/.openclaw/agents/main/sessions (names.json, sessions.json, and <sessionId>.jsonl). The actions and file I/O described are within the scope of a session-naming manager and the SKILL.md does not instruct the agent to read unrelated system files or transmit data externally.
Install Mechanism
There is no install spec that downloads or executes remote code; the skill is packaged with a local Python script and docs. No external installers, URLs, or archive extraction are present. This is a low-risk install surface, though the README suggests clawhub install which is outside the package and should be treated like any package manager operation.
!
Credentials
The package reads the OPENCLAW_SESSION_ID environment variable to determine the current session, but the registry metadata lists no required env vars. The README documents OPENCLAW_SESSION_ID, yet the skill's declared requirements omit it. Additionally, the registry did not declare Python3 as a required runtime binary. These omissions mean the skill will rely on undocumented environment/runtime state; that mismatch should be resolved before trusting the package.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or global agent settings. It writes only to ~/.openclaw/agents/main/sessions/names.json (its own local mapping) which is proportional to its function. No elevated privileges are requested.
What to consider before installing
This skill's code implements exactly the session-naming features it describes and appears local-only (it reads/writes ~/.openclaw session files and prints RELOAD/NEW tokens). However, there are a few red flags to check before installing: - Provenance mismatch: registry owner ID/version differ from _meta.json inside the package — confirm the publisher and that you obtained the skill from a trusted source. - Undeclared dependencies: README and code expect Python 3 and the OPENCLAW_SESSION_ID env var, but the registry metadata lists no required binaries or env vars. Ensure your environment provides OPENCLAW_SESSION_ID and Python 3, or the skill may fail or behave unexpectedly. - Back up your session store (~/.openclaw/agents/main/sessions/) before first use, in case names.json is overwritten or malformed. - Review the package contents locally (the included scripts/session_mgr.py is small and readable) and, if installing via a package manager (clawhub), inspect what that installer does. If the publisher and these env/runtime omissions check out (i.e., the owner is trusted and your environment matches the expectations), the skill is likely safe to use. If you cannot verify the publisher or do not want an unverified script to modify files under ~/.openclaw, do not install.

Like a lobster shell, security has layers — review code before you run it.

latestvk9776rhzw28kztr7gxtg5cq94d855z50
101downloads
0stars
2versions
Updated 1w ago
v1.0.1
MIT-0

Sessmgr — Named Session Manager

Give your OpenClaw sessions memorable names and pick them up exactly where you left off. No more hunting through cryptic session IDs.

At a Glance

/sessmgr <action> [args]

Actions:
  name     <name> [description]    Name the current session
  list                           Show all named sessions
  reload   <name>                 Switch to a named session
  new      <name>                 Start a fresh named session
  rename   <old> <new>            Rename a session
  save     <name>                 Touch a session's last-used time
  delete   <name>                 Remove a name (keeps transcript)

Natural language works too — "name this session project-alpha", "switch to my-dev-session", etc.


Why Named Sessions?

  • Remember what you were doing — "auth-redesign" beats 199f3a3c-882a-4cec-9f86-693bca7b9fa1
  • Pick up exactly where you left off/sessmgr reload project-alpha restores context
  • Multiple concurrent threads — name each conversation thread, switch between them instantly
  • Never lose context — deleting a name preserves the transcript; you can always recover

Actions

name <name> [description]

What it does: Tags the current session with a memorable name.

/sessmgr name auth-redesign OAuth flow refactor

Natural language: "name this session auth-redesign" / "call this session my blog draft"

Details:

  • If the name already belongs to this session → updates the description
  • If the name belongs to a different session → error (use rename to reclaim it)
  • Description is optional but recommended — "OAuth flow refactor" beats nothing

Output on success:

Named session 'auth-redesign' -> 199f3a3c-882a-4cec-9f86-693bca7b9fa1
  Description: OAuth flow refactor

list

What it does: Shows all named sessions with metadata.

/sessmgr list

Natural language: "list my sessions" / "show all named sessions"

Output:

Name              Session ID                        Created                     Last Used                   Description
--------------------------------------------------------------------------------------------------------------------------------------
auth-redesign     199f3a3c-882a-4cec-9f86-693bca7b9fa1  2026-04-19T11:08:49+00:00   2026-04-19T14:22:00+00:00   OAuth flow refactor
dev-work          a1b2c3d4-e5f6-7890-abcd-ef1234567890  2026-04-18T09:30:00+00:00   2026-04-18T16:45:00+00:00   Backend API investigation

Tips:

  • Active session is marked implicitly by having the most recent lastUsed that matches your current session ID
  • Sessions are sorted alphabetically

reload <name>

What it does: Switches to a named session by printing RELOAD_SESSION:<sessionId>.

/sessmgr reload auth-redesign

Natural language: "switch to auth-redesign" / "go to session dev-work" / "load project-alpha"

Output on success:

RELOAD_SESSION:199f3a3c-882a-4cec-9f86-693bca7b9fa1

If the name doesn't exist:

Error: no session named 'auth-redesign'. To start a new session with this name, use /sessmgr new auth-redesign

⚠️ Channel limitation: Reloading only works within the same channel. Webchat sessions reload in webchat, Telegram in Telegram, etc. Cross-channel switching is not supported.


new <name>

What it does: Confirms the name is available, then prints NEW_SESSION:<name> to signal intent to start fresh.

/sessmgr new project-alpha

Natural language: "start a new session called project-alpha" / "create a new session named staging"

Output on success:

NEW_SESSION:project-alpha

If the name already exists:

Error: a session named 'project-alpha' already exists. Use /sessmgr reload project-alpha to return to it.

rename <old-name> <new-name>

What it does: Changes the name of an existing session without touching the transcript.

/sessmgr rename dev-work backend-research

Natural language: "rename dev to staging" / "change session name from old-session to new-session"

Output on success:

Renamed 'dev-work' -> 'backend-research'.

Validation:

  • new-name must be unique (no existing session with that name)
  • Both names must be valid: letters, numbers, hyphens, underscores only
  • Transcript file is never modified — only the name mapping changes

save <name>

What it does: Updates the lastUsed timestamp without leaving the current session. Useful for marking a session as "alive" without switching.

/sessmgr save auth-redesign

Natural language: "save session auth-redesign" / "touch the timestamp for my dev session"

Output:

Saved session 'auth-redesign' (updated lastUsed).

delete <name>

What it does: Removes the name mapping. The transcript file (.jsonl) is never deleted — only the human-readable name is removed.

/sessmgr delete old-session

Natural language: "delete session old-session" / "remove the name old-session"

Output:

Deleted session name 'old-session' (session file preserved).

Recovery: If you delete a name by accident, the session transcript still exists at ~/.openclaw/agents/main/sessions/<sessionId>.jsonl. You can find it by checking sessions.json and re-name it with /sessmgr name.


Data Storage

FilePurpose
~/.openclaw/agents/main/sessions/names.jsonName → sessionId mapping with metadata
~/.openclaw/agents/main/sessions/<sessionId>.jsonlThe actual session transcript (never deleted)

names.json entry structure:

{
  "sessionId": "199f3a3c-882a-4cec-9f86-693bca7b9fa1",
  "created": "2026-04-19T11:08:49.440540+00:00",
  "lastUsed": "2026-04-19T14:22:00.000000+00:00",
  "description": "OAuth flow refactor"
}

Validation Rules

RuleDetails
Allowed charactersLetters (a-z, A-Z), digits (0-9), hyphens (-), underscores (_)
Max length64 characters
CasePreserved — Auth-Redesign and auth-redesign are different names
Reserved namesNone, but avoid names that look like actions (name, list, new, etc.) to prevent ambiguity

Error Reference

SituationMessage
Name doesn't exist (reload)Error: no session named '<name>'. To start a new session with this name, use /sessmgr new <name>
Name already taken (new)Error: a session named '<name>' already exists. Use /sessmgr reload <name> to return to it.
Name belongs to another sessionError: name '<name>' is already assigned to a different session.
Invalid charactersError: name must be alphanumeric, hyphens, or underscores only.
Can't determine current sessionError: could not determine current session ID.
New name already exists (rename)Error: name '<new-name>' already exists.
Name doesn't exist (save/delete/rename)Error: no session named '<name>'.

Tips & Tricks

Multiple projects simultaneously:

/sessmgr name frontend-rework
# work on frontend...
/sessmgr name backend-api  
# work on backend...
/sessmgr reload frontend-rework  # pick up exactly where you left off

Meaningful descriptions:

/sessmgr name auth-redesign "Fixing OAuth callback, third attempt"

Check before starting new:

/sessmgr list
# see if 'staging' already exists before /sessmgr new staging

Session cleanup without losing history:

/sessmgr delete old-session  # removes the name
# transcript still at: ~/.openclaw/agents/main/sessions/<sessionId>.jsonl

Comments

Loading comments...