Activity status integration for Kiro IDE with privacy‑first defaults.
- Smart Host Detection: Automatically detects Kiro vs VS Code and brands presence accordingly
- Rich Language Support: Shows appropriate small icons for 70+ programming languages and frameworks
- Dynamic Presence: Shows editor, language, workspace (opt‑in), debug sessions, and problems
- Privacy First: Strict redaction by default (no file contents; filenames/workspaces are opt‑in)
- Idle Detection: Automatically switches to idle state after configurable timeout
- Status Bar Control: Quick toggle, reconnect, and privacy indicator
- Debug Integration: Shows "Debugging " during debug sessions
The extension automatically maps file extensions and language IDs to Discord image assets. All language icons are pre-configured and work immediately after installation.
- Web:
html,css,javascript,typescript,react-light,vuejs-light,svelte,angular-light - Backend:
python,java-light,csharp,cpp,c,golang,rust,ruby,php - Frameworks:
nextjs-dark,nuxtjs-dark,gatsby,astro,nestjs-dark,fastapi,django - Cloud:
aws-light,azure-dark,gcp-dark,cloudflare-light - Tools:
docker,git,npm,yarn-light,bun-light,vite-light,webpack-dark
angular-light, appwrite, astro, aws-light, azure-dark, babel, bash-dark,
bitbucket-dark, bootstrap, bun-light, c, cloudflare-light, cpp, cs, css,
deno-light, discordjs-dark, django, docker, electron, emotion-dark, fastapi,
flutter-dark, gatsby, gcp-dark, git, gitlab-dark, godot-light, golang,
gradle-dark, graphql-dark, html, htmx-dark, java-light, javascript,
nestjs-dark, nextjs-dark, nuxtjs-dark, r-light, rails, react-light,
redis-dark, redux, regex-dark, rocket, rollupjs-dark, ruby, rust, sass,
solidjs-dark, sqlite, svelte, tailwindcss-dark, tensorflow-dark, threejs-light,
typescript, vite-light, vitest-dark, vuejs-light, webassembly, webpack-dark,
workers-dark, yarn-light
- Desktop Discord client running (supports IPC)
- Kiro IDE or VS Code desktop
That's it! The extension works immediately with no additional setup required.
- Open VSX Registry: Install from Open VSX
- Or via Command:
Ctrl+Shift+P→ "Extensions: Install from VSIX" → Download from releases
- Install Extension: Use installation method above
- Discord App: Ensure Discord desktop app is running
- Ready to Use: Extension works immediately - no configuration needed!
If you want to use your own Discord app with custom images:
- Create Discord App: Visit Discord Developer Portal → New Application
- Upload Assets: Go to "Rich Presence" → "Art Assets" and upload images with the keys listed below
- Get Client ID: Copy your Application ID from the General Information page
- Configure: Set
kiroPresence.discordClientIdin extension settings
kiroPresence.discordClientId(string, default: "1403518715407892590") - Your Discord Application Client ID. Uses default Kiro app if not changed.kiroPresence.debug(boolean, default false) - Enable verbose logging
kiroPresence.showFileName(boolean, default false) - Show active filenamekiroPresence.showWorkspaceName(boolean, default false) - Show workspace/repo namekiroPresence.showLanguageIcons(boolean, default true) - Show language small imageskiroPresence.showCursorPosition(boolean, default false) - Show line/column positionkiroPresence.showProblems(boolean, default false) - Show error/warning countskiroPresence.showGitBranch(boolean, default false) - Show current Git branch
kiroPresence.idleTimeoutMs(number, default 90000) - Idle timeout in millisecondskiroPresence.largeImage("auto" | "kiro" | "vscode") - Large image selectionkiroPresence.redactPatterns(string[]) - Glob patterns for file redaction
- Kiro Presence: Show Status (
kiroPresence.showStatus) - Show connection status with quick actions - Kiro Presence: Reconnect (
kiroPresence.reconnect) - Force Discord reconnection - Kiro Presence: Open Settings (
kiroPresence.openSettings) - Open extension settings - Kiro Presence: Diagnostics (
kiroPresence.diagnostics) - Show connection and config info
Click the Kiro Presence status bar item to:
- ✅ See if you're connected to Discord
- 🔧 Quick access to Settings, Reconnect, or Diagnostics
- 📊 Check connection status at a glance
Note: To disable the extension, use VS Code's extension manager instead of a separate toggle.
# Install dependencies
npm install
# Build extension
npm run compile
# Watch for changes
npm run watch
# Package VSIX
npm run package- No file contents are transmitted to Discord
- Filenames and workspace names are disabled by default
- Redaction patterns can be configured via glob patterns
- Language icons only show the technology, not specific file details
- Open VSX (recommended for Kiro):
npx ovsx publish -p <token> - VS Code Marketplace:
npx @vscode/vsce publish
- "Client ID not set": Set
kiroPresence.discordClientIdin settings - No connection: Ensure Discord desktop app is running and logged in
- No images: Upload Rich Presence assets to your Discord app
- Kiro-only error: Set env
KIRO_PRESENCE_ALLOW_NON_KIRO=1for development
- See
design.mdfor architecture details - See
tasks.mdfor development checklist
- Inspired by iCrawl/discord-vscode
- Language mappings based on leonardssh/vscord