You need some way to give it tools - the essential ones for coding are running bash commands, reading files and editing files.

You need the LLM to be able to respond with tool use requests, and then your local harness to process them and respond to it. You can read how tool calling works with eg Claude API to get the idea: https://platform.claude.com/docs/en/agents-and-tools/tool-us...

Under the hood something like Claude Code is calling the API with tools registered, and then when it gets a tool use request it runs that locally, and then responds to the API with the result. That’s the loop that enables coding.

Integrating with an IDE specifically is really just a UI feature, rather than the core functionality.