← Artículos

Cómo quitar la URL de sesión que Claude Code pega en tus commits

· 5 min de lectura

Añade { "attribution": { "sessionUrl": false } } a tu ~/.claude/settings.json. Eso quita el enlace de sesión del mensaje del commit y de la descripción del PR, y conserva el trailer Co-Authored-By. El enlace solo lo añaden las sesiones web y de Remote Control, no el Claude Code de terminal; y como esas sesiones no tienen shell, en la práctica el ajuste hay que ponerlo en un .claude/settings.json dentro del repositorio.

Qué es lo que aparece

Si trabajas con Claude Code desde la web o desde Remote Control, tus commits pueden salir con un enlace a la sesión pegado en el mensaje, y tus pull requests con lo mismo en la descripción. Es una URL de la forma `claude.ai/code/session_...`.

No es un fallo ni una filtración: es una función de atribución, y viene encendida por defecto.

Para dimensionarlo: una búsqueda en la API de GitHub de esa cadena dentro del cuerpo de pull requests públicos devuelve 2.973.619 resultados. El 31 de agosto la misma búsqueda daba 2.935.931. Son casi treinta y ocho mil PRs nuevos en un día con el enlace dentro.

El matiz que casi todo el mundo se salta

Esto no le pasa a todo el mundo, y conviene decirlo antes de que salgas corriendo a revisar tu terminal.

Lo aclaró un colaborador de Anthropic al cerrar el reporte del tema: el enlace de sesión *solo* se añade en las sesiones web y de Remote Control. Si usas Claude Code en tu terminal de siempre, no te está pasando.

Así que el primer paso no es cambiar nada, es mirar. Abre uno de tus commits recientes hechos desde la web y busca la URL en el cuerpo del mensaje.

El arreglo, que es una línea

En tu archivo de ajustes de Claude Code:

```json

{

"attribution": {

"sessionUrl": false

}

}

```

Va en `~/.claude/settings.json` para que aplique a todo, o en el `.claude/settings.json` del repositorio si solo lo quieres para ese proyecto.

Qué hace exactamente: quita el enlace y deja el resto de la atribución. El trailer `Co-Authored-By` sigue apareciendo, así que no pierdes el crédito de que ese commit se escribió con asistencia; solo dejas de publicar cuál fue la sesión.

Si además quieres limpiar el trailer entero y la firma del PR, los otros dos campos del mismo bloque son `commit` y `pr`, y admiten cadena vacía:

```json

{

"attribution": {

"commit": "",

"pr": "",

"sessionUrl": false

}

}

```

La documentación oficial del bloque está en la sección de ajustes de atribución de la documentación de Claude Code.

La parte incómoda

Aquí está lo que hace este caso interesante y no un simple "cómo apagar X".

El reporte que pedía que esto fuera opt-in se cerró con la respuesta "el ajuste existe". Y es verdad, existe. Pero fíjate en la geometría del asunto:

O sea: la solución está en un sitio al que la superficie que causa el problema no llega. El único camino práctico es dejar un `.claude/settings.json` dentro del repositorio —escrito desde tu terminal, o a mano por la interfaz web de GitHub—, y eso hay que saberlo de antemano. Nadie lo descubre desde donde le está pasando.

Un usuario lo resumió pidiendo reabrir el reporte, y el argumento es bueno: *el ajuste responde a "¿puedo apagarlo?", pero la pregunta era "¿debería estar encendido sin preguntar?"*.

Los tres pasos, si vas con prisa

  1. Mira un commit tuyo reciente hecho desde la web o desde Remote Control y busca `claude.ai/code/session` en el mensaje.
  2. Si está, crea o edita `.claude/settings.json` en el repositorio y mete `{ "attribution": { "sessionUrl": false } }`. En el repositorio, no solo en tu casa: es el único sitio que las sesiones web leen.
  3. Haz un commit de prueba desde la misma superficie y comprueba que el enlace ya no sale.

El dato honesto

El enlace no publica tu conversación: quien lo abre sin tus credenciales no ve la sesión. Lo que sí publica, y de forma permanente en el historial de git, es que ese cambio salió de una sesión asistida y cuál fue. Para muchos proyectos eso da igual o incluso es deseable. Para un repositorio de cliente, para trabajo bajo acuerdo de confidencialidad o simplemente para no dejar metadatos que nadie te pidió, es información que preferirías decidir tú.

Y esa es la queja de fondo, que sigue en pie aunque el ajuste exista: por defecto se publica, y para dejar de hacerlo tienes que enterarte primero.

Preguntas frecuentes

¿Le pasa a todo el que usa Claude Code?
No. Según el colaborador de Anthropic que cerró el reporte, el enlace de sesión solo se añade en sesiones web y de Remote Control. En el Claude Code de terminal no aparece.
¿Quitar el enlace me quita también el Co-Authored-By?
No. El ajuste sessionUrl en false quita únicamente el enlace y conserva el trailer de coautoría. Si quieres quitar también el trailer, usa los campos commit y pr del mismo bloque con cadena vacía.
¿Dónde pongo el ajuste si trabajo desde la web?
En un .claude/settings.json dentro del repositorio, porque las sesiones web no tienen shell para editar el archivo global de tu máquina. Puedes crearlo desde tu terminal o a mano por la interfaz web de GitHub.
¿Alguien puede leer mi conversación con esa URL?
No sin tus credenciales. Lo que queda publicado en el historial del repositorio es la existencia de la sesión y su identificador, no el contenido.

Fuentes

MÁQUINA IA

La comunidad donde dejas de usar IA y empiezas a dirigirla.

Entrar a la comunidad →