None of the config.lua entries are implemented as real slash commands today. The list is a completion/help catalog. What matters is whether each command has a real plugin equivalent or a real SDK surface behind it.
Below, Plugin means there is a working Neovim command/keymap/UI path now. SDK means the Go bridge exposes a real field/endpoint/event for it. No means neither.
| Command | Plugin | SDK | Replace with |
|---|---|---|---|
/help |
Partial | No | g? in the chat buffer, :help copilot-agent, README command list |
/model |
Yes | Yes | :CopilotAgentModel, <M-m> |
/resume |
Yes | Yes | :CopilotAgentSwitchSession |
/rename |
Yes | No | Rename the active session in plugin-local state |
/new |
Yes | Yes | :CopilotAgentNewSession |
/clear |
Yes | Yes | :CopilotAgentNewSession or :CopilotAgentStop! then new session |
/compact |
No | No | No equivalent; closest is starting a new session |
/context |
Partial | Partial | Statusline 📊current/limit; no command UI |
/usage |
Partial | Partial | Same as /context; token usage arrives via session.usage_info |
/session |
Yes | Yes | Bare /session opens the picker; `/session info |
/diff |
Yes | No | :CopilotAgentDiff |
/review |
Partial | Partial | Ask for a review in chat, plus :CopilotAgentDiff; if backend agent names are supported, set session.agent before creating the session |
/lsp |
Yes | No | :CopilotAgentLsp |
/plan |
Yes | Yes | <C-t> to cycle to plan mode |
/research |
Partial | Partial | Use agent mode and ask for web research; backend tools already include web fetch/search |
/init |
No | No | Manually create .github/copilot-instructions.md, .github/instructions/**, .github/agents, .github/skills |
/agent |
No | Partial | Set session.agent in setup before session creation; custom agents are discovered from .github/agents |
/skills |
No | Partial | Put skills under .github/skills/**/SKILL.md; no picker or enable/disable UI in Lua today |
/mcp |
No | Partial | Edit .mcp.json or .vscode/mcp.json, then recreate the session |
/fleet |
No | No | No equivalent |
/tasks |
No | No | No equivalent; only streaming sub-agent events |
/ide |
No | No | Not applicable; this plugin is already the IDE integration |
/allow-all |
Yes | Yes | <M-a> until approve-all, or set permission_mode = 'approve-all' |
/add-dir |
No | No | No real trusted-dir API here; closest is changing working_directory or approving requests interactively |
/list-dirs |
No | No | No equivalent |
/list-tools |
Yes | No | List the plugin's remembered tool approvals for the current session; this is local-only and not a full backend tool inventory |
/cwd |
Partial | Yes | vim.cmd('cd ...') plus session.working_directory = function() return vim.fn.getcwd() end |
/reset-allowed-tools |
Partial | Partial | <C-x> opens tool toggle UI, but current /tools state is local-only; recreate session for a clean tool set |
/share |
No | No | Use normal Neovim save/yank workflows |
/remote |
No | No | No equivalent |
/copy |
No | No | Use normal Neovim clipboard/yank |
/rewind |
No | No | No equivalent; use git/manual undo |
/undo |
No | No | Same as /rewind |
/ask |
Partial | No | :CopilotAgentAsk; @visual-selection attaches the current visual selection to the prompt; it does add to session history |
/search |
No | No | Use normal Neovim search or your picker plugin |
/env |
Partial | Partial | :CopilotAgentStatus + statusline counts/intent/context; no dedicated env command |
/experimental |
No | No | No toggle; plugin already has ask/plan/agent/autopilot modes |
/instructions |
Partial | Yes | Auto discovery via enable_config_discovery = true; attach files with <C-a> → “Instructions file” |
/login |
No | No | Authenticate outside the plugin with Copilot CLI / env vars |
/logout |
No | No | Same as /login |
/exit |
No | No | Quit Neovim or close the chat window |
/restart |
Partial | No | :CopilotAgentStop then :CopilotAgentServerStart |
A few important takeaways:
- Truthfully supported now:
/model,/resume,/rename,/new,/clear,/session,/diff,/lsp,/plan,/allow-allall have solid plugin-native replacements. - SDK-backed but missing Lua UI:
/agent,/skills,/mcp,/instructions,/cwd,/context,/usage,/env. - Probably remove from the list unless you implement them:
/compact,/init,/fleet,/tasks,/ide,/share,/remote,/rewind,/undo,/search,/experimental,/login,/logout,/exit.
One concrete bug: the current “Allow this directory” path tries to send {"message": "/add-dir ..."} to /sessions/{id}/messages, but the server only accepts {"prompt": ...}. So /add-dir should be treated as unsupported right now.