Troubleshooting.
When Jarvis won't talk, won't join voice, or won't play music - start here.
Jarvis won't respond at all
If a mention or slash command does nothing, walk this checklist in order.
- He has Read Message History and Send Messages in the channel. Discord's permission overrides per channel are the most common silent killer.
- The channel isn't locked elsewhere. Run
/channel set channel: #herein the channel you want him in, or/channel clearto unlock everywhere. - You aren't blocked by the role gate. Server admins can check with
/role list. If no roles are allowlisted, everyone can use him. - He's online. If his status shows offline in member list, the hosted instance is restarting - usually back within a minute. Check AGIS for incident notices.
- You aren't on the per-server blacklist. If a moderator blocked your account from the bot,
/blacklist listshows who's blocked.
Slash commands don't show up
Discord caches command lists aggressively. Try:
- Re-invite the bot. Use the current invite link; the OAuth flow re-syncs the command registry.
- Restart your Discord client. The slash list lives in the client cache.
Ctrl+Ron desktop, or fully close and reopen mobile. - Wait ~10 minutes after the bot joins. Discord rolls command updates out asynchronously.
Voice channel: joins but doesn't hear me
- Confirm the wake word fired. Default is
jarvisorgarmin. Check your personal setting with/wakeword(no args) - if there's a custom word, use that instead. - You haven't opted out of voice transcription.
/opt mode: outblocks voice too, not just text memory. - Mic input is reaching Discord. Watch the voice user list - your name should pulse green when speaking. If it doesn't, Discord isn't seeing your mic.
- The voice transcription provider is reachable. If the upstream STT API is down,
/voicejoins but transcription never runs.
Voice: he hears me but doesn't talk back
- Bot has Speak permission in the voice channel. Connect-only doesn't cut it.
- You aren't server-deafened relative to him. Discord client deafen blocks both directions on most setups.
- TTS provider isn't rate-limited. When the upstream TTS returns 429, the bot quietly skips that turn rather than spamming retries.
Music: /play doesn't start anything
- You're in a voice channel when you run the command - Jarvis needs somewhere to join.
- He has Connect + Speak in that channel.
- The URL/query resolved. Search queries that return zero results fail silently. Try a direct URL.
- DJ mode isn't blocking you. If
/dj toggle enabled: trueis on, only DJs and admins can queue./dj listshows who's allowed. - Self-hosters:
ffmpegandyt-dlpare on the path and the right version.ffmpeg -versionandyt-dlp --versionfrom the same shell that started the bot.
Music cuts out or stutters
Almost always network or codec related:
- YouTube throttling. Long sessions on hosted YouTube playback occasionally hit anti-abuse limits. Re-queue the track.
- Discord voice region. Server voice region mismatched with the host can cause jitter. Server settings → Region → set to nearest or Automatic.
- Self-hosters: Check CPU.
ffmpegtranscodes are CPU-bound; a tiny VPS can stutter on high-bitrate sources.
"You can't use this command" errors
Permission-gated commands check your Discord permissions, not bot-internal roles. /ban requires Ban Members, /automod requires Manage Server, etc. Ask a server admin to either grant the permission or run the command for you.
The commands page labels each command with its required permission level - Mod, Admin, Manage Server, or Restricted.
Memory feels wrong - wipe and restart
/clear- instantly wipes your conversation history with Jarvis in this server./memory entries: 20- see what he currently has stored. Look for stale facts./profile show- your saved preferences./profile set key: pronouns value: …to fix one./opt mode: outfollowed later by/opt mode: inresets memory to zero and starts fresh.
Portal won't sign in
- Cookies enabled. The portal uses HTTP-only session cookies - third-party cookie blockers occasionally trip on it.
- You authorized the right scopes. The OAuth screen asks for
identifyandguilds. Both are required for the portal to know which servers to show you. - Discord rate limit. If you've signed in/out repeatedly, Discord may temporarily throttle the OAuth handshake. Wait a few minutes.
None of this worked
Join the AGIS server and ask for help. Include:
- The command you ran (exact text)
- What you expected vs. what happened
- Server ID (right-click server → Copy Server ID - needs Developer Mode on)
- Approximate timestamp
That's enough for a maintainer to grep the logs and find the failure mode.
Drop a question in the AGIS support channel. Most things get answered within the day - the maintainer reads every message.