blob: ca3b6a4e32d0bf80704616e4959a87cff31cf944 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
---
title: Windows (WSL)
description: Run OpenCode on Windows using WSL for the best experience.
---
import { Steps } from "@astrojs/starlight/components"
While OpenCode can run directly on Windows, we recommend using [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) for the best experience. WSL provides a Linux environment that works seamlessly with OpenCode's features.
:::tip[Why WSL?]
WSL offers better file system performance, full terminal support, and compatibility with development tools that OpenCode relies on.
:::
---
## Setup
<Steps>
1. **Install WSL**
If you haven't already, [install WSL](https://learn.microsoft.com/en-us/windows/wsl/install) using the official Microsoft guide.
2. **Install OpenCode in WSL**
Once WSL is set up, open your WSL terminal and install OpenCode using one of the [installation methods](/docs/).
```bash
curl -fsSL https://opencode.ai/install | bash
```
3. **Use OpenCode from WSL**
Navigate to your project directory (access Windows files via `/mnt/c/`, `/mnt/d/`, etc.) and run OpenCode.
```bash
cd /mnt/c/Users/YourName/project
opencode
```
</Steps>
---
## Desktop App + WSL Server
If you prefer using the OpenCode Desktop app but want to run the server in WSL:
1. **Start the server in WSL** with `--hostname 0.0.0.0` to allow external connections:
```bash
opencode serve --hostname 0.0.0.0 --port 4096
```
2. **Connect the Desktop app** to `http://localhost:4096`
:::note
If `localhost` does not work in your setup, connect using the WSL IP address instead (from WSL: `hostname -I`) and use `http://<wsl-ip>:4096`.
:::
:::caution
When using `--hostname 0.0.0.0`, set `OPENCODE_SERVER_PASSWORD` to secure the server.
:::
```bash
OPENCODE_SERVER_PASSWORD=your-password opencode serve --hostname 0.0.0.0
```
---
## Web Client + WSL
For the best web experience on Windows:
1. **Run `opencode web` in the WSL terminal** rather than PowerShell:
```bash
opencode web --hostname 0.0.0.0
```
2. **Access from your Windows browser** at `http://localhost:<port>` (OpenCode prints the URL)
Running `opencode web` from WSL ensures proper file system access and terminal integration while still being accessible from your Windows browser.
---
## Accessing Windows Files
WSL can access all your Windows files through the `/mnt/` directory:
- `C:` drive → `/mnt/c/`
- `D:` drive → `/mnt/d/`
- And so on...
Example:
```bash
cd /mnt/c/Users/YourName/Documents/project
opencode
```
:::tip
For the smoothest experience, consider cloning/copying your repo into the WSL filesystem (for example under `~/code/`) and running OpenCode there.
:::
---
## Tips
- Keep OpenCode running in WSL for projects stored on Windows drives - file access is seamless
- Use VS Code's [WSL extension](https://code.visualstudio.com/docs/remote/wsl) alongside OpenCode for an integrated development workflow
- Your OpenCode config and sessions are stored within the WSL environment at `~/.local/share/opencode/`
|