TL;DR Monta
https://claude.ai/code?prompt=…&repositories=owner/repo(con URL-encode), pégalo en un ticket o un doc y un clic deja la sesión cloud lista para enviar.
No es otra forma de abrir Claude Code on the web. Es la forma de cablearlo a donde ya trabajas: Linear, GitHub Issues, Notion, un dashboard interno. La página acepta query params y rellena el formulario de la sesión nueva antes de que escribas nada.
Resultado:
https://claude.ai/code?prompt=Fix%20the%20login%20bug&repositories=acme/webapp
Abres ese enlace (logueado, con GitHub conectado) y ves el prompt y el repo ya seleccionados. Tú solo envías.
Cómo usarlo
1. Monta la URL con lo mínimo
Cuatro parámetros. Todos opcionales; combínalos según lo que quieras pre-rellenar.
| Parámetro | Alias | Qué rellena |
|---|---|---|
prompt |
q |
Texto del input de la sesión |
prompt_url |
(ninguno) | URL de donde descargar el prompt (si no cabe en la query). Se ignora si también pasas prompt |
repositories |
repo |
Lista owner/repo separada por comas |
environment |
(ninguno) | Nombre o ID del environment cloud |
Cada valor debe ir URL-encoded. En el navegador:
const base = 'https://claude.ai/code'
const params = new URLSearchParams({
prompt: 'Fix the flaky test in auth.spec.ts',
repositories: 'acme/webapp',
environment: 'Default',
})
const url = `${base}?${params.toString()}`
// https://claude.ai/code?prompt=Fix+the+flaky+test...&repositories=acme%2Fwebapp&environment=Default
En shell:
python3 - <<'PY'
from urllib.parse import urlencode
print('https://claude.ai/code?' + urlencode({
'prompt': 'Fix the flaky test in auth.spec.ts',
'repositories': 'acme/webapp',
}))
PY
2. Conviértelo en un botón "Fix with Claude"
En un issue tracker, un template de PR o un runbook:
[Fix with Claude](https://claude.ai/code?prompt=Reproduce%20and%20fix%20AUTH-204&repositories=acme/webapp)
En un script que recibe el cuerpo del ticket:
# ISSUE_BODY y REPO vienen del webhook o del CLI de tu tracker
ENC=$(python3 -c "from urllib.parse import quote; import sys; print(quote(sys.argv[1]))" "$ISSUE_BODY")
echo "https://claude.ai/code?prompt=${ENC}&repositories=${REPO}"
Si el prompt es demasiado largo para una query string, súbelo a una URL pública (gist raw, asset interno con CORS) y usa prompt_url en lugar de prompt. La URL del prompt tiene que permitir peticiones cross-origin; si no, el navegador no la puede leer.
Y cuando el enlace lo recibes tú, invierte la lectura: ese prompt lo ha escrito quien montó la URL, no tú. El enlace no envía nada por su cuenta, así que el hueco entre abrirlo y pulsar enviar es tuyo. Léelo antes, sobre todo si llega desde un issue público o de alguien de fuera del equipo.
3. Qué NO hace este enlace
- No lanza la sesión sola. Rellena el formulario; tú pulsas enviar (o no).
- No sustituye a
claude --cloud. Desde la terminal, el flag sigue siendo el camino corto (sesiones cloud desde el navegador o la terminal). - No es el protocolo
claude-cli://. Ese es el gemelo local:claude-cli://open?repo=owner/repo&q=…abre una terminal nueva con Claude Code en tu clon y el prompt ya escrito, sin enviarlo (deep links).
Los dos enlaces resuelven el mismo gesto y se eligen por destino. El https:// de esta página abre la sesión cloud, corre en la máquina de Anthropic y se puede pegar donde sea que se renderice un enlace. El claude-cli:// abre tu terminal, con tu configuración, tus herramientas y tu clon, y la sesión arranca con el aviso Prompt from an external link bajo el input hasta que envías o lo borras. La trampa práctica: GitHub elimina el esquema claude-cli:// al renderizar READMEs, issues, pull requests y wikis, así que ahí el enlace se queda en texto muerto. Para el botón dentro de un issue de GitHub, el que funciona es el de esta página.
Cuando la sesión termine y quieras bajar el trabajo a tu máquina, teleport sigue siendo el puente.
Referencia
| Quieres… | Usa |
|---|---|
| Un prompt corto en el enlace | prompt (o q) |
| Un prompt largo / generado | prompt_url (CORS abierto) |
| Uno o varios repos | repositories=owner/a,owner/b |
| Un environment concreto | environment=NombreOId |
| Lanzar sin navegador | claude --cloud "tarea" |
| Abrir tu terminal local, no la nube | claude-cli://open?repo=owner/repo&q=… |
Documentación oficial: Pre-fill sessions (web quickstart)
Requisitos
- Cuenta Pro, Max, Team o Enterprise (misma base que Claude Code on the web)
- GitHub conectado en claude.ai/code (o
/web-setupen el CLI) - El navegador con la sesión de Anthropic iniciada; si no, verás el login primero