Techalicious Academy / 2026-02-06-claude-code-local

(Visit our meetup for more great tutorials)

USING CLAUDE CODE

You've got it configured. Now let's actually use it.

Starting a Session

Always start from your project directory:

cd ~/my-project
claude

Claude Code reads the current directory structure. Starting from the wrong place means it doesn't know about your files.

The Interface

You'll see a prompt:

>

That's it. Type your request. Press Enter. Wait.

With local models, responses take 30-120 seconds. Get used to it.

Basic Requests

Simple question:

> What does lib/Server.pm do?

Claude reads the file and explains it.

Code generation:

> Create a Perl module that fetches RSS feeds

Claude writes the code and creates the file.

Editing:

> Fix the bug in line 42 of app.pl

Claude reads the file, identifies the issue, and edits it.

Running commands:

> Run the tests and tell me what failed

Claude executes "prove -l t/" (or whatever test command fits) and reports results.

Being Specific

Vague requests get vague results. Be specific:

BAD:  "Fix the bug"
GOOD: "Fix the authentication bug where users get 500 errors on login"

BAD:  "Make it faster"
GOOD: "Optimize the database queries in User.pm - they're doing N+1"

BAD:  "Write tests"
GOOD: "Write tests for the Token.pm module, covering valid tokens,
       expired tokens, and malformed input"

Multi-Step Tasks

Claude Code handles multi-step tasks naturally:

> Create a new REST endpoint for user profiles:
> 1. Add a route in the main app
> 2. Create a controller method
> 3. Write a database model function
> 4. Add basic tests

It works through each step, creating and editing files as needed.

@ Mentions

Reference files explicitly with @:

> Look at @lib/Auth.pm and @lib/Token.pm - why is auth failing?

This ensures those specific files get read into context.

You can also @ directories:

> Explain the structure of @lib/Controller/

Watching Files Change

As Claude edits files, you can watch in real-time. Open another terminal and use your editor's auto-reload, or:

watch -n 1 cat lib/Module.pm

See changes as they happen.

Canceling

If Claude is generating garbage, press Ctrl+C to cancel.

You won't lose the conversation. Just interrupt the current response.

Regenerating

If a response is bad:

> Regenerate

Or be more specific:

> Try again but use a simpler approach

Editing Responses

Claude writes something almost right? Edit the result:

> In your last response, change the function name from "process" to
> "handleRequest"

Staying in Context

Don't repeat yourself. Claude remembers the conversation:

> Create a login endpoint

[Claude creates it]

> Now add rate limiting to it

Claude knows "it" refers to the login endpoint you just discussed.

When To Start Fresh

Start a new session when:

Or just quit and restart:

Ctrl+D to exit
claude to restart

Session Management

Continue where you left off:

claude --continue

Resume a specific past session:

claude --resume

These are useful when you had to close the terminal but want to keep working on the same thing.

Good Habits

1. Start with context

Before diving into changes, let Claude understand:

> Read @lib/App.pm and explain the architecture

2. One thing at a time

Don't cram multiple unrelated tasks into one request:

BAD:  "Fix the bug and also add a new feature and refactor auth"
GOOD: "Fix the login bug" [done] "Add the feature" [done] "Refactor"

3. Verify before continuing

After Claude makes changes, check they work:

> Run the tests

Don't keep building on broken code.

4. Use /compact proactively

Don't wait until you hit the wall:

> /compact

After every major milestone, compress context.

What Claude Code is Good At

What It's Bad At

Speed Expectations

With local models:

Simple question: 20-40 seconds
Code generation: 60-120 seconds
Large refactor: 2-5 minutes

The model is thinking. Let it think. Don't spam requests.

Summary

Start:    cd project && claude
Talk:     Natural language requests
Files:    Use @ to reference specific files
Context:  /context to check, /compact to compress
Cancel:   Ctrl+C
Exit:     Ctrl+D or "exit"
Resume:   claude --continue

Next chapter: Power user features.