[FEATURE] Define Custom Tools
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 28/100
Research direction
Start by tracing how the plugin reads its config and how its WebSocket-based Claude integration exposes tools. Define the supported custom_tools shape, including schemas and callbacks, and verify that a configured Lua function can be invoked by Claude within Neovim.
Written by the indexing model from the issue text.
Description
Feature Description
I'd like to be able to define custom MCP tools in the plugin's config.
Use Case
Users would be able to define any function that can be run by Claude within neovim. The use cases are basically infinite. Anything you can imagine as a Lua function could be run by Claude.
Proposed Solution
I Imagine the function definition to look somewhat like this:
{
"coder/claudecode.nvim",
dependencies = { "folke/snacks.nvim" },
-- ...
custom_tools = {
{
"tool_name",
title = "The tool's title",
desc = "Does something",
input_schema = {
-- ...
},
output_schema = {
-- ...
},
annotations = {
-- ...
},
callback = function(arg1, arg2)
-- ...
end
},
},
}
Alternatives Considered
- Letting claude execute arbitrary vim commands. That's not very Neovimy and more risky though. And this feature could still be implemented using the proposed solution.
- Making my own plugin. Though the power of claudecode.nvim is its WebSocket based integration, which I'd have to replicate (or I'd have to use a local http transport).
- Dominant language
- Lua
- Stars
- 3.1k
- Forks
- 219
- PR merge metrics
- No merged PRs in 30d
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from coder/claudecode.nvim
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
coder/claudecode.nvim#321 ·
-
bug needs-triage
Difficulty 1/5 Under an hour Newbie friendliness 88/100
coder/claudecode.nvim#314 ·
-
bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
coder/claudecode.nvim#313 ·
-
needs-triage
Difficulty 5/5 Over a week Newbie friendliness 20/100
coder/claudecode.nvim#319 · 2 reactions ·
-
[BUG] 框选文本一直抱错误信息Openbug needs-triage
Difficulty 4/5 3-5 days Newbie friendliness 35/100
coder/claudecode.nvim#316 · 1 comment ·
All issues in coder/claudecode.nvim
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Facepunch/garrysmod-issues#7077 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
AstroNvim/astrotheme#184 ·