Real conversation examples showing effective and ineffective usage patterns.
You: go to dir myproject
│ Kode
│
│ Switched workspace to /home/aditya/myproject
│ I can analyze this codebase, inspect files, or make changes here now.
You: analyze it
│ Kode
│
│ ━━━ CODEBASE ANALYSIS ━━━
│ Workspace: /home/aditya/myproject
│ Git: on branch main, no changes
│
│ Stack:
│ - Runtime: Node.js
│ - Language: TypeScript
│ ...
You: read the src/index.ts file
│ Kode
│
│ Here is the content of src/index.ts:
│
│ ```typescript
│ import { App } from './app.js';
│ ...
│ ```
You: what does the App class do?
│ Kode
│
│ [LLM answers based on file content]
Why this works:
- Explicit navigation (
go to dir) - Clear analysis request (
analyze it) - Specific file path (
src/index.ts) - Contextual followup (
what does the App class do?)
You: go to dir myapp
│ Kode
│
│ Switched workspace to /home/aditya/myapp
You: read the src/auth.ts file
│ Kode
│
│ [Shows file content]
You: the login function fails with "invalid token" error. can you find the issue?
│ Kode
│
│ [LLM analyzes the code, finds the bug, suggests a fix]
│
│ I found the issue. The token validation is using the wrong header name.
│ I can fix it by changing line 42 from:
│
│ - const token = req.headers['x-auth'];
│ + const token = req.headers['authorization'];
│
│ Approve this edit? (Y/A/N)
Why this works:
- Specific file identified
- Error message provided exactly
- Clear question ("can you find the issue?")
You: go to dir webapp
│ Kode
│
│ Switched workspace to /home/aditya/webapp
You: run tests
│ Kode
│
│ I can run tests with `npm test` once you approve it.
│
│ Approve? (Y/A/N)
│
│ ✓ Tests passed
You: start dev server
│ Kode
│
│ I can start the dev server with `npm run dev` as a tracked background process.
│
│ Approve? (Y/A/N)
│
│ Dev server started with `npm run dev`
│ Process ID: abc123
You: status
│ Kode
│
│ [Dev server status output]
Why this works:
- Clear task commands
- Background process tracked
- Status check works
You: clone this repo https://github.com/askpext/awesome-project
│ Kode
│
│ I can run the repository clone with `git clone https://github.com/askpext/awesome-project awesome-project` once you approve it.
│
│ Approve? (Y/A/N)
│
│ ✓ Directory created: /home/aditya/awesome-project
You: go to dir awesome-project
│ Kode
│
│ Switched workspace to /home/aditya/awesome-project
You: analyze it
│ Kode
│
│ ━━━ CODEBASE ANALYSIS ━━━
│ ...
Why this works:
- Full URL provided
- "clone" + "repo" keywords trigger deterministic routing
- Automatic directory verification after clone
You: go to dir api
│ Kode
│
│ Switched workspace to /home/aditya/api
You: I need to add a /users/:id/profile endpoint. read the src/routes/users.ts file first
│ Kode
│
│ [Shows file content]
You: now read src/controllers/userController.ts
│ Kode
│
│ [Shows controller content]
You: add a getProfile method that fetches from the profiles table and returns JSON
│ Kode
│
│ [LLM generates the method]
│
│ I can add this method to userController.ts:
│
│ ```typescript
│ async getProfile(req, res) {
│ const profile = await db.profiles.findOne({ where: { userId: req.params.id } });
│ res.json(profile);
│ }
│ ```
│
│ Approve this edit? (Y/A/N)
You: also add the route in users.ts
│ Kode
│
│ I can add the route to users.ts:
│
│ ```typescript
│ router.get('/:id/profile', userController.getProfile);
│ ```
│
│ Approve this edit? (Y/A/N)
Why this works:
- Sequential file reads for context
- Clear feature request
- Step-by-step edits with approval
- Each build on previous context
You: go to lowkey
│ Kode
│
│ [Falls through to LLM — "lowkey" could be file or directory]
Fix: go to dir lowkey
You: check the config
│ Kode
│
│ [Ambiguous — which config file? config.json? .koderc? tsconfig.json?]
Fix: read the kode.json file or show me tsconfig.json
You: refactor the entire codebase to use a new architecture, add tests, update docs, and fix all bugs
│ Kode
│
│ [LLM loop hits max iterations or produces incomplete output]
Fix: Break into smaller tasks:
- "analyze the codebase" — understand current state
- "what are the main architectural issues?" — identify problems
- "create a plan to refactor" — get strategy
- Tackle one piece at a time
You: read package.json
You: read package.json (again)
You: read package.json (again)
│ Kode
│
│ Error: Repeated identical tool calls detected. Please refine the path or try a different approach.
Fix: Move forward with the content you already have.
You: fix the bug
│ Kode
│
│ [Which bug? Which file? What's the error?]
Fix: Provide context:
- "the login function in src/auth.ts throws 'invalid token'"
- "tests are failing with 'expected 200 but got 500'"
- "the build fails with TypeScript error TS2345"
- Start with analysis —
analyze the codebasebefore making changes - Read files explicitly —
read src/file.tsinstead of assuming Kode knows - One thing at a time — Single clear request per turn
- Provide exact errors — Copy-paste error messages, don't paraphrase
- Use deterministic commands —
go to dir,run tests,analyzeare faster than LLM fallback - Approve "Always" for trusted ops — When prompted Y/A/N, "A" (Always) saves time for repetitive tasks