Setup

Everything in this book happens in one place: a session with a coding agent, started in a folder on your own computer. This chapter gets you there. It is the least interesting chapter and the one most worth doing carefully, because every later chapter assumes three things are true: the agent is running, you’re signed in, and it is working in the folder you meant it to.

The morning talk made the case that an agent differs from a chatbot because it acts: it reads your files, writes new ones and runs commands. That is exactly why the folder matters. A chatbot can only see what you paste into it. An agent can see, and change, whatever is in the folder you start it in, and it will ask before reaching further. So the first habit of the day is a small one: make a folder for the work, start the agent there, and ask it where it is before asking it to do anything.

You don’t need to know how to code, and you don’t need a terminal if you use the desktop app. You also don’t need git, R, Python or anything else installed. At the end of this chapter the agent checks what you have and writes it down, and later chapters work with that. Allow 20–25 minutes.

What you’ll learn

  • Install and sign in to Claude Code, using the desktop app or the command line, on macOS or Windows.
  • Make a workshop folder and start a session in it.
  • Read a permission prompt and decide what’s safe to allow.
  • Have the agent check your computer is ready, and save the answer in a file.
  • Start a new session, and know why you’d want to.

The pieces

Figure 1 shows how the parts fit together. You type into a session. The session has a chat history, a model and a permission mode, and it works in one folder. Inside that folder the agent can read freely; changing things, or reaching outside, depends on what you allow.

flowchart LR
  accDescr: Diagram - You send prompts to a session, which has a chat history, a model and a permission mode. The session works in the agents-workshop folder and its files. Anything outside the folder needs your approval.
  you([You]) -- prompts --> s["Session<br/>chat history · model · permission mode"]
  s -- reads and writes --> f["agents-workshop/<br/>your files"]
  s -. asks first .-> o["Anything outside<br/>the folder"]
Figure 1: You talk to a session; the session works in one folder. Reading inside the folder is free. Edits and commands follow the permission mode, and anything outside the folder asks first.

There are several ways to run the same agent. They behave the same where it matters for this book: the prompts, the folder and the permission prompts.

Claude desktop app, Code claude on the command line Google Antigravity 2.0
Who it suits Most people. No terminal needed. People who already live in a terminal. People who’d rather use Google’s agent, with a personal Google account.
How you pick the folder Local, then Select folder, when starting a session cd into the folder, then run claude A Project: the folder icon with a “+” in the left sidebar, New Project, Add Folder, Create
How you change permissions The mode selector next to the send button Shift+Tab cycles the modes The project’s security preset, in its settings
Supported in the room Yes Yes Best effort
Table 1: Ways to run an agent for this book. Everything in later chapters works in all three, with small differences named where they matter.

Install and sign in

The Institute has arranged Claude Team seats for the workshop. If the app asks you to upgrade, or you can’t see the Code tab, tell Sean or a helper straight away.

The command line (optional)

If you’d rather use a terminal, install the claude command (“Advanced Setup,” n.d.). On macOS, in Terminal:

“Advanced Setup.” n.d. Accessed September 23, 2026. https://code.claude.com/docs/en/setup.
curl -fsSL https://claude.ai/install.sh | bash

On Windows, in PowerShell (not CMD; Appendix A — Windows notes explains the difference):

irm https://claude.ai/install.ps1 | iex

or, if you use winget:

winget install Anthropic.ClaudeCode

Then type claude and follow the sign-in prompts in your browser. You don’t need to run as Administrator.

Claude Code runs natively on Windows 10 (version 1809 or later) and Windows 11. Git for Windows is optional. With it, the agent runs commands through Git Bash; without it, it uses PowerShell. Both work for this book, and you only need Git itself in 7  Work like a project, where the chapter offers a way round if you can’t install it. The Windows appendix, Appendix A — Windows notes, covers PowerShell versus CMD, finding your Documents folder, showing file extensions, and what to do if claude is “not recognized”.

Google Antigravity (an alternative)

Google’s agent, Antigravity 2.0, is a desktop app that works much like Claude’s Code pane (“Getting Started,” n.d.). Download it for macOS, Windows or Linux, open it, and sign in with a Google account.

“Getting Started.” n.d. Accessed September 23, 2026. https://antigravity.google/docs/getting-started/.
  • Use a personal Google account (an @gmail.com address). Antigravity’s FAQ says institutional Google Workspace accounts may not be able to sign in (“FAQ,” n.d.).
  • Its agent works in a Project: one or more folders you add. By default it can only read and write inside those folders, and it asks before running terminal commands (“Feature Overview,” n.d.).
  • Where this book says CLAUDE.md, Antigravity reads AGENTS.md (and GEMINI.md); its project skills go in .agents/skills/ and its MCP servers in .agents/mcp_config.json (“Migration,” n.d.).
“FAQ.” n.d. Accessed September 23, 2026. https://antigravity.google/docs/faq/.
“Feature Overview.” n.d. Accessed September 23, 2026. https://antigravity.google/docs/features/.
“Migration.” n.d. Accessed September 23, 2026. https://antigravity.google/docs/cli/gcli-migration/.

Gemini CLI, which earlier versions of this workshop mentioned, has been replaced by Antigravity’s CLI.

TipUsing Codex or GitHub Copilot?

Bring it. What this book teaches carries across: a folder per piece of work, prompts in plain English, a ledger of what you checked. What differs is detail: where a tool keeps its instructions file, how it asks permission, and how it adds skills and connections. Chapters name Claude Code where a step is specific to it. If yours differs, ask your agent: “This book says to do X in Claude Code. What’s the equivalent here?”

Make a workshop folder

Make a new, empty folder called agents-workshop inside your Documents folder. The easiest place to do it is the agent app itself, as you start your first session (next section): the folder picker in Claude’s Code pane, and in Antigravity, opens on your files, and you can make a new folder there before selecting it.

If you’d rather make it first:

  • macOS: in Finder, open Documents, then File → New Folder.
  • Windows: in File Explorer, open Documents, then right-click an empty space and choose New → Folder.

Why a new, empty folder? So that everything the agent makes in this book is in one place you can find, and nothing else you own is in reach. Later chapters make their own sub-folders inside it.

Keep the name exactly agents-workshop, with no spaces. Spaces in folder names work, but they trip up commands in small ways, and later chapters assume this name.

On many managed laptops, Documents lives inside OneDrive, so its full path is C:\Users\<you>\OneDrive\Documents, or C:\Users\<you>\OneDrive - <institution>\Documents, rather than C:\Users\<you>\Documents. Any of these is fine. When the agent tells you where it is, the path will show which you have. Appendix A — Windows notes shows how to see a folder’s full path.

Start a session in the folder

This is the one place the book explains how to start a session. Every later chapter says “start a new session in ” and links back here; the steps are always these.

Desktop app. In Code, choose Local as the environment and click Select folder. Go to Documents, make the agents-workshop folder there if you haven’t yet, and select it. Leave the model on its default. Then type your first prompt and press Enter.

Antigravity. Click the folder icon with a “+” in the left sidebar, then New Project. Click Add Folder, go to Documents, make agents-workshop there if you haven’t yet, and select it. Click Create, then type your first prompt in the project.

Command line. Open a terminal, move into the folder, and start the agent:

cd ~/Documents/agents-workshop
claude

On Windows, in PowerShell, use this instead. It finds your Documents folder wherever it is, including inside OneDrive:

cd (Join-Path ([Environment]::GetFolderPath('MyDocuments')) agents-workshop)
claude

For a later chapter’s folder, add it to the end: agents-workshop/website, and so on.

Now send your first prompt:

What folder are you in, and what's in it?

It should answer with the full path to agents-workshop and say the folder is empty (on a Mac it may mention a hidden .DS_Store file, which Finder makes; ignore it). That answer is worth reading properly. If it names a different folder, stop: every file it makes from here on would land in the wrong place. Start a new session and pick the folder again.

Then ask it to make something, so you see an edit happen:

Make a file called hello.txt containing one line: "Setup worked on" followed by
today's date. Then tell me the full path to the file.

Now go and find hello.txt yourself, in Finder or File Explorer, and open it. (On Windows, if it shows as just hello, turn on file extensions: see Appendix A — Windows notes.) This is the first check of the day, and the pattern for all the rest: the agent says it did something; you look.

Permission prompts

Depending on its permission mode, the agent will stop and ask before editing a file or running a command. These prompts are not errors. They are the safety catch working, and they are how you stay in charge of what happens on your computer.

The desktop app has a mode selector next to the send button; on the command line, Shift+Tab cycles through the modes. The main ones (“Choose a Permission Mode,” n.d.):

“Choose a Permission Mode.” n.d. Accessed September 23, 2026. https://code.claude.com/docs/en/permission-modes.
Mode What the agent does without asking When to use it
Manual Reads files. Asks before every edit and every command, showing you the change. Your first session, so you see everything it does.
Accept edits Reads, and edits files in the folder. Still asks before other commands. Most of this book, once you’re comfortable.
Plan Reads and explores, then proposes a plan without changing anything. Before a big or unfamiliar task.
Auto Acts, with background safety checks that block risky actions. If you see it offered, later, when you know what to expect.
Table 3: Permission modes in Claude Code. Your organisation may hide some of them. The desktop app remembers the mode you pick for each folder, except Plan.

A fifth mode, Bypass permissions, turns off the prompts altogether. It is meant for throwaway sandboxes, not your laptop. Don’t use it.

When a prompt does appear, three questions settle most of them (Figure 2). Reading is fine. Looking at files and listing folders can’t change anything, and the agent does most of it without asking at all. Edits inside the workshop folder are fine: that’s what the folder is for, and if an edit is wrong you can ask for it to be undone. Read before allowing anything else: a command that deletes or moves files, installs software, touches anything outside the folder, or sends data somewhere. Those are often fine too, but they’re the ones worth a second look.

flowchart LR
  accDescr: Decision diagram. Is it only reading? Allow. Is it editing files inside your workshop folder? Allow. Otherwise (it deletes, installs, reaches outside the folder or sends data out), read it first, and if unsure say no and ask why.
  q1{"Only<br/>reading?"} -- yes --> a1([Allow])
  q1 -- no --> q2{"Editing inside<br/>agents-workshop?"}
  q2 -- yes --> a1
  a2(["Read it first.<br/>Unsure? Say no,<br/>ask why."])
  q2 -- "no: deletes, installs,<br/>goes outside, sends out" --> a2
Figure 2: Deciding on a permission prompt. When in doubt, say no and ask the agent what the command does and why it needs it.

Saying no is always safe. The agent doesn’t sulk; it tries another way, or asks what you’d prefer. A good follow-up, in plain words:

Before you run that, explain what the command does, which files it touches,
and why you need it.
Note“Yes, and don’t ask again”

Some prompts offer to remember your answer for that kind of command in this folder. That’s handy for something harmless it runs often, such as listing files. Don’t use it for anything that deletes or installs.

Check your computer is ready

Later chapters use tools you may or may not have: Python in 3  Teach the agent your project, whatever your app needs in 6  Build an app, git in 7  Work like a project. Better to find out now than halfway through the afternoon, especially on a laptop your institution manages, where you may not be allowed to install anything. Have the agent look, with the permission mode still on Manual so you see each command before it runs:

Check whether this computer is ready for today's workshop. Only look:
don't install or change anything except the one file below.

Write readiness.md in this folder with a short table:
- Operating system and version, and the shell you run commands in
- Whether git, Python, R, RStudio and Node are installed, with versions
  (R and RStudio may be installed but not on the path; look for them)
- How software could be installed here (winget, Homebrew, neither), and
  whether it looks like administrator rights would be needed
- Whether you can reach the internet: fetch
  https://github.com/golnazvahedi/epigenetics-agentic-workshop and say if it worked
- Anything likely to cause trouble, such as Documents synced to OneDrive
End with one line per chapter that needs something (Python for "Teach the
agent your project", git for "Work like a project"): ready, or what's
missing and the workaround.

This is your first run of real permission prompts. The agent may bundle all its checks into one long command, a screenful of git --version, command -v python3 and the like. You don’t need to follow every line. Look for words that change things: install, rm, mv, sudo. If there are none, it’s only reading, and allowing it is safe. If it proposes to install something, say no: that’s not what you asked for. On a Mac we tested, the whole check took under a minute.

Open readiness.md and read the last lines. Missing tools are fine. Every chapter has a way to manage without them, and none needs anything installed before it starts. If the agent says it can’t reach the internet, tell Sean or a helper: 5  Connect to a database (MCP) and the example data both need it.

Why write it to a file, and not just ask? Because the agent forgets it the moment the session ends. A file stays, so a later session can read it and doesn’t have to ask again. That idea, that the agent’s memory is whatever you wrote down, is what 3  Teach the agent your project is about.

The check is only a report. Installing things, and deciding whether you should, comes later, in the chapter that needs each tool: 6  Build an app picks a way to build that needs nothing new, and 7  Work like a project walks through installing git, or managing without it.

Sessions: when to start a new one

A session is one conversation: its own chat history, its own folder, its own permission mode. The agent remembers everything said earlier in the session, and nothing from other sessions, unless it’s written down in a file (that’s what 3  Teach the agent your project is about).

Start a new session for each chapter of this book, and whenever you change task. A long session drifts. It fills up with earlier detail, gets slower, and starts confusing old instructions with new ones, which is the context-window problem from this morning. A fresh session in the same folder costs nothing, because everything that matters is in the files.

  • Desktop app: + New session in the sidebar (Cmd+N on macOS, Ctrl+N on Windows). Choose Local and Select folder again, as above. Old sessions stay listed in the sidebar.
  • Command line: type /exit, then cd into the new folder if the chapter uses one, and run claude again. claude -c picks up the most recent conversation in the folder, if you want it back.

Each later chapter works in its own folder inside agents-workshop (for example agents-workshop/website in 1  Build a website). When a chapter says “start a new session in” a folder, it means these steps, with that folder picked. Then ask “What folder are you in?” before anything else.

Where the example data comes from

The fallback data in later chapters is real data shared by the Vahedi lab, from their workshop repository; there’s nothing to download now, and each chapter’s prompt has the agent fetch the one file it needs.

ImportantPrivacy: what not to give the agent

Don’t give the agent patient data, identifiable information, or unpublished data you aren’t allowed to share, in this book or anywhere else, until you know what your institution permits. Most of what’s worth trying today is public or de-identified material, and every chapter offers a public fallback.

What to notice

  • It answered a question about your computer, not about the world. A chatbot can’t tell you what’s in your Documents folder.
  • It made a real file you could open without it. That’s the difference the rest of the book builds on, and the reason for the folder.

Check yourself

TipYou’re done when
TipIf it goes wrong

Paste the exact error message into a session and ask the agent what it means (it is surprisingly good at diagnosing its own setup), or pair with a neighbour. Two people at one laptop is a fine way to do this book.

Going further

“Terminal Guide for New Users.” n.d. Accessed September 23, 2026. https://code.claude.com/docs/en/terminal-guide.