> ## Documentation Index
> Fetch the complete documentation index at: https://docs.poolside.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# How to run a Poolside coding agent locally

> Run a Poolside coding agent with an open-weight model on your own hardware.

Use Laguna XS.2, Ollama, and Poolside Agent CLI to run a coding agent with an open-weight model on your own hardware. Laguna XS.2 is released under Apache 2.0.

With this setup, Ollama serves the model locally and `pool` connects to it from your project directory. Your code and model traffic stay on the machine where you run the local model server.

<Frame caption="Related demo: one-command install on DGX Spark">
  <iframe src="https://www.loom.com/embed/f87a1c118e154603a244379e8d6476b4" title="Related demo: one-command install on DGX Spark" className="w-full h-80 rounded-xl" />
</Frame>

## How it works

A local Poolside agent uses four pieces:

* **Laguna XS.2**: The model. Laguna XS.2 has 33B total parameters and 3B active parameters per token.
* **Ollama**: The local runtime. Ollama pulls the model and serves it through an OpenAI-compatible endpoint on your machine.
* **Poolside Agent CLI**: The terminal-based coding agent. Use the `pool` command to work with the local model from your project directory.
* **ACP editors**: Editors compatible with the Agent Client Protocol (ACP), such as JetBrains and Zed, can use the same local agent through ACP.

## Prerequisites

Before you install the local agent, check that your machine has enough memory, GPU support, and disk space for the model you want to run.

### Hardware

Laguna XS.2 can run locally on the following hardware:

| Platform                                                                  | Status                                       |
| ------------------------------------------------------------------------- | -------------------------------------------- |
| macOS Apple Silicon, M1 and newer                                         | Supported with MLX and Metal through Ollama. |
| Linux with NVIDIA GPUs, 8 GB VRAM and up                                  | Supported with CUDA through Ollama.          |
| Linux with DGX Spark or Grace Blackwell systems, including GB10 and GB200 | Supported and sized against unified memory.  |

On NVIDIA systems, Blackwell, Hopper, and Ada GPUs are recommended. Turing and older GPUs may work, but they are not recommended.

Use hardware that meets these minimums:

* 32 GB system RAM.
* 8 GB VRAM on discrete NVIDIA GPUs.
* Enough free disk space for the selected model tag plus 8 GB on the Ollama models volume.

### Memory and context

Model weights and KV cache share memory while the model runs. Use a context length that fits the memory available on your machine.

| Total or unified RAM | Default context                            | Comfortable for                    |
| -------------------- | ------------------------------------------ | ---------------------------------- |
| 32 to 47 GB          | 16K                                        | The default `q4_K_M` quantization. |
| 48 to 63 GB          | 32K                                        | `q4_K_M` with working room.        |
| 64 to 95 GB          | 65K                                        | `q8_0` and longer sessions.        |
| 96 GB and up         | 65K by default, 256K with `--context 256k` | `bf16` and longer context.         |

## Steps

To run a Poolside coding agent locally, set up Ollama, pull Laguna XS.2, install Poolside Agent CLI, and start an agent session from your project directory.

### Step 1: Install Ollama

Install Ollama:

```bash theme={null}
curl -fsSL https://ollama.com/install.sh | sh
```

Confirm Ollama is available:

```bash theme={null}
ollama list
```

### Step 2: Choose and pull a model tag

The default Ollama tag is `laguna-xs.2:latest`, which uses the same model blob as `laguna-xs.2:q4_K_M`. Use a different tag when you want higher precision and have enough memory.

| Tag                    | Approximate size | When to use it                                              |
| ---------------------- | ---------------- | ----------------------------------------------------------- |
| `laguna-xs.2:latest`   | 23 GB            | Default. Recommended for most local setups.                 |
| `laguna-xs.2:q4_K_M`   | 23 GB            | Same as `:latest`. Cross-platform.                          |
| `laguna-xs.2:q8_0`     | 37 GB            | NVIDIA on Linux with comfortable VRAM.                      |
| `laguna-xs.2:bf16`     | 67 GB            | Full precision. Hopper, Blackwell, or 96 GB+ Apple Silicon. |
| `laguna-xs.2:nvfp4`    | 22 GB            | Apple Silicon only with the MLX backend.                    |
| `laguna-xs.2:mxfp8`    | 36 GB            | Apple Silicon only with the MLX backend.                    |
| `laguna-xs.2:mlx-bf16` | 67 GB            | Apple Silicon only with the MLX backend.                    |

Pull the tag you want to run. For example, to pull the default tag, run:

```bash theme={null}
ollama pull laguna-xs.2:latest
```

### Step 3: Test the model in Ollama

You can chat with the model directly through Ollama to confirm it works. Use the same tag you pulled in the previous step:

```bash theme={null}
ollama run laguna-xs.2:latest
```

### Step 4: Install Poolside Agent CLI

Install Poolside Agent CLI so `pool` can connect to the model that Ollama serves locally:

```bash theme={null}
curl -fsSL https://downloads.poolside.ai/pool/install.sh | sh
```

Verify the installation:

```bash theme={null}
pool --version
```

The command prints the installed version. For installation details, see [Install Poolside Agent CLI](/cli/install).

### Step 5: Launch `pool` against the local model

Go to the project directory you want to work in, then point `pool` at the model Ollama serves on your machine. Use the same tag you used in step 2. This example uses `laguna-xs.2:latest`:

```bash theme={null}
cd <project-path>
ollama launch pool --model laguna-xs.2:latest
```

When the session starts, send a prompt:

```text theme={null}
Summarize this project and suggest one small improvement.
```

You know the setup worked when the agent responds using the local Laguna XS.2 model.

## Optional: Work in your editor

Because `pool` supports ACP, you can connect the same local agent to any ACP-compatible editor instead of working from the terminal:

* [Use Poolside in Zed](/integrations/zed)
* [Use Poolside in JetBrains](/integrations/jetbrains)
* [Use Poolside in another ACP-compatible editor](/integrations/other-acp)

## Next steps

<CardGroup cols={2}>
  <Card title="Learn what you can do with pool" icon="terminal" href="/cli/pool">
    Keep working in the terminal with interactive sessions, automation, and other Poolside Agent CLI workflows.
  </Card>

  <Card title="Configure your agent" icon="sliders" href="/configure">
    Shape agent behavior and control what it can do.
  </Card>
</CardGroup>

## Related resources

* [Download the Laguna XS.2 model weights](https://huggingface.co/poolside/Laguna-XS.2)
* [Read how Poolside trained Laguna XS.2 in A Deeper Dive](https://poolside.ai/blog/laguna-a-deeper-dive)
* [Join the Poolside Discord](https://discord.com/invite/poolsideai) to give feedback, ask questions, and share what you build
