# Use Xantly with Void (OSS Cursor alternative, beta)

[Void](https://voideditor.com) is the open-source alternative to Cursor, same editor fork, but every API call goes to whatever provider you configure. That includes Xantly. Since Void is still in beta, this guide will be refined as their settings surface stabilizes, but the core pattern (env vars + custom base URL) is stable.

## Prerequisites

- Void installed, download from [voideditor.com](https://voideditor.com) or build from [github.com/voideditor/void](https://github.com/voideditor/void)
- A Xantly API key, [create one](/dashboard/api-keys)

## Setup via settings

1. Open Void settings (`Cmd+,` macOS / `Ctrl+,` Linux).
2. Search for "AI Provider" → **OpenAI Compatible**.
3. Configure:

| Field | Value |
|---|---|
| Base URL | `https://api.xantly.com/v1` |
| API Key | `xantly_sk_...` |
| Default Model | `xantly/auto-quality` |

4. Save, reload the window.

## Setup via env vars

Void reads standard OpenAI env vars if no UI override is present:

```bash
export OPENAI_API_BASE=https://api.xantly.com/v1
export OPENAI_API_KEY=xantly_sk_...
export OPENAI_MODEL=xantly/auto-quality
```

Drop these in your `~/.zshrc` / `~/.bashrc`. If you launch Void from Spotlight/Finder on macOS, you may need to set them via `launchctl` or a login shell wrapper (see [Claude Code doc](/docs/use-with-claude-code) gotchas).

## Using Void's AI features

- `Cmd+K` → inline edit (like Cursor's Cmd+K).
- `Cmd+L` → chat panel.
- Tab → inline autocomplete.
- Agent mode → multi-file edits.

All route through Xantly once the base URL is set.

## Model choice

| Model ID | When |
|---|---|
| `xantly/auto-quality` | Agent mode, Cmd+K complex edits, default. |
| `xantly/auto-value` | Chat panel daily use. |
| `xantly/auto-speed` | Tab autocomplete (if you're OK paying for it; usually prefer local Ollama for autocomplete). |
| `anthropic/claude-sonnet-4.6` | Long-context refactors. |
| `openai/gpt-5.4` | Structured output. |

**Don't** put tab autocomplete on any Xantly tier if you can run Ollama locally, autocomplete fires per keystroke and burns tokens fast. See the [Ollama bridge guide](/docs/use-with-ollama-bridge).

## Verify

Open Void, `Cmd+L` → send:

```
Reply with just the word "pong".
```

Check your Xantly dashboard, call logged with routed-to model + cost.

## What you get

- **Full Cursor-like UX with real BYOK.** No chat-only asterisks like Cursor.
- **BaRP routing** across tiers per request.
- **Semantic cache** on repeat prompts.
- **Waterfall fallback** on provider outages.
- **Memory** via `X-Xantly-Memory-Mode: recall` if Void's settings expose custom headers (still WIP in beta).
- **No subscription**: pay for tokens only.

## Gotchas

**Beta stability.** Void changes fast. If a setting moved between releases, check their GitHub readme or Discord. The patterns here are intentionally generic (env vars + OpenAI-compatible base URL).

**`/v1` suffix.** Include it.

**Tab autocomplete cost.** Void's Tab fires a lot. Either point it at Ollama locally or set a daily USD cap on your Xantly key (`Dashboard → API Keys → Daily Budget`).

**Custom headers.** If Void doesn't yet expose custom-header config, you can't set `X-Xantly-Memory-Mode` per-request from the editor. Memory is still available through the default API behavior; cross-session recall requires the explicit header.

**Model list caching.** After adding new models to your Xantly catalog, restart Void to refresh.

## Next steps

- [Migrate from Cursor](/docs/migrate-from-cursor), if you came from Cursor looking for full BYOK.
- [Cline](/docs/use-with-cline), more mature VS Code agent, if you'd rather not beta-test an editor.
- [Ollama bridge](/docs/use-with-ollama-bridge), hybrid local + Xantly for the autocomplete firehose.
- [Bring Your Own Key](/docs/bring-your-own-key), use your own OpenAI/Anthropic credits through Xantly routing.
