npx claudepluginhub mihir-s-05/claude-code-discord-windows-rich-presence --plugin clawd-presenceWindows-only helper that shows Claude Code activity in Discord Rich Presence. It runs a small background daemon that applies updates and keeps Discord in sync while you work.
# from repo root
.\install.ps1
The installer builds the helper (if Go is available), writes config (if you enter a Client ID), and installs/updates the plugin. If a manual install exists, it removes the old clawd-presence folder first.
Claude Code hooks invoke dist/windows/claude-hooks/presence.ps1. The script writes the desired presence state and a background daemon applies it to Discord. On session end, the daemon clears or idles your presence based on config.
install.ps1.Global config path:
%APPDATA%\ClawdPresence\config.jsonExample:
{
"discord": {
"clientId": "YOUR_CLIENT_ID",
"largeImageKey": "clawd",
"largeImageText": "Claude Code",
"smallImageKey": "terminal",
"smallImageText": "Windows"
},
"privacy": {
"showRepo": true,
"showBranch": true,
"showToolName": true
},
"behavior": {
"onSessionEnd": "clear",
"updateDebounceMs": 500
}
}
Optional (no file): set CLAWD_PRESENCE_CLIENT_ID or DISCORD_CLIENT_ID in your environment. If no Client ID is configured, the helper uses a shared default application ID.
Project override:
<repo>\.claude\presence.json (same schema as global config).\install.ps1
If you use a manual install, also pass -PluginDir to your plugins folder. The script removes any existing clawd-presence directory before reinstalling.
Use this when the Claude CLI is unavailable or marketplace install fails.
go build -o dist\windows\clawd-presence.exe .\cmd\clawd-presence
# Example: plugins directory is %USERPROFILE%\.claude\plugins
.\install.ps1 -PluginDir "$env:USERPROFILE\.claude\plugins" -Mode Junction
Add these commands to your .claude/settings.json hooks if you want to wire hooks by hand:
{
"hooks": {
"SessionStart": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:/path/to/dist/windows/claude-hooks/presence.ps1",
"timeout": 5
}]
}],
"UserPromptSubmit": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:/path/to/dist/windows/claude-hooks/presence.ps1",
"timeout": 5
}]
}],
"PreToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:/path/to/dist/windows/claude-hooks/presence.ps1",
"timeout": 5
}]
}],
"PostToolUseFailure": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:/path/to/dist/windows/claude-hooks/presence.ps1",
"timeout": 5
}]
}],
"Stop": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:/path/to/dist/windows/claude-hooks/presence.ps1",
"timeout": 5
}]
}],
"SessionEnd": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:/path/to/dist/windows/claude-hooks/presence.ps1",
"timeout": 5
}]
}]
}
}
presence.ps1 file.dist/windows/clawd-presence.exe clear or restart Claude Code.install.ps1 to reinstall and refresh the plugin files..\dist\windows\clawd-presence.exe diagnose
%APPDATA%\ClawdPresence\config.json<repo>\.claude\presence.json%LOCALAPPDATA%\ClawdPresence\state.json%LOCALAPPDATA%\ClawdPresence\logs\YYYY-MM-DD.logUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Matches all tools
Hooks run on every tool call, not just specific ones
Intelligent prompt optimization using skill-based architecture. Enriches vague prompts with research-based clarifying questions before Claude Code executes them
Persistent memory system for Claude Code - seamlessly preserve context across sessions