Descripción general
La herramienta bash proporciona a Claude:- Sesión bash persistente que mantiene el estado
- Capacidad de ejecutar cualquier comando de shell
- Acceso a variables de entorno y directorio de trabajo
- Capacidades de encadenamiento de comandos y scripting
Versiones de herramientas
Modelo | Versión de Herramienta |
---|---|
Modelos Claude 4 y Sonnet 3.7 | bash_20250124 |
Claude Sonnet 3.5 (obsoleto) | bash_20241022 |
Claude Sonnet 3.5 (obsoleto) requiere el encabezado beta
computer-use-2024-10-22
cuando se usa la herramienta bash.La herramienta bash está generalmente disponible en los modelos Claude 4 y Sonnet 3.7.Casos de uso
- Flujos de trabajo de desarrollo: Ejecutar comandos de construcción, pruebas y herramientas de desarrollo
- Automatización del sistema: Ejecutar scripts, gestionar archivos, automatizar tareas
- Procesamiento de datos: Procesar archivos, ejecutar scripts de análisis, gestionar conjuntos de datos
- Configuración del entorno: Instalar paquetes, configurar entornos
Inicio rápido
Cómo funciona
La herramienta bash mantiene una sesión persistente:- Claude determina qué comando ejecutar
- Ejecutas el comando en un shell bash
- Devuelves la salida (stdout y stderr) a Claude
- El estado de la sesión persiste entre comandos (variables de entorno, directorio de trabajo)
Parámetros
Parámetro | Requerido | Descripción |
---|---|---|
command | Sí* | El comando bash a ejecutar |
restart | No | Establecer en true para reiniciar la sesión bash |
restart
Ejemplo de uso
Ejemplo de uso
Ejemplo: Automatización de múltiples pasos
Claude puede encadenar comandos para completar tareas complejas:Implementar la herramienta bash
La herramienta bash se implementa como una herramienta sin esquema. Al usar esta herramienta, no necesitas proporcionar un esquema de entrada como con otras herramientas; el esquema está integrado en el modelo de Claude y no se puede modificar.1
Configurar un entorno bash
Crea una sesión bash persistente con la que Claude pueda interactuar:
2
Manejar la ejecución de comandos
Crea una función para ejecutar comandos y capturar la salida:
3
Procesar las llamadas de herramientas de Claude
Extrae y ejecuta comandos de las respuestas de Claude:
4
Implementar medidas de seguridad
Añade validación y restricciones:
Manejar errores
Al implementar la herramienta bash, maneja varios escenarios de error:Timeout de ejecución de comando
Timeout de ejecución de comando
Si un comando tarda demasiado en ejecutarse:
Comando no encontrado
Comando no encontrado
Si un comando no existe:
Permiso denegado
Permiso denegado
Si hay problemas de permisos:
Seguir las mejores prácticas de implementación
Usar timeouts de comandos
Usar timeouts de comandos
Implementa timeouts para prevenir comandos colgados:
Mantener el estado de la sesión
Mantener el estado de la sesión
Mantén la sesión bash persistente para conservar las variables de entorno y el directorio de trabajo:
Manejar salidas grandes
Manejar salidas grandes
Trunca salidas muy grandes para prevenir problemas de límite de tokens:
Registrar todos los comandos
Registrar todos los comandos
Mantén un registro de auditoría de los comandos ejecutados:
Sanitizar salidas
Sanitizar salidas
Elimina información sensible de las salidas de comandos:
Seguridad
La herramienta bash proporciona acceso directo al sistema. Implementa estas medidas de seguridad esenciales:
- Ejecutar en entornos aislados (Docker/VM)
- Implementar filtrado de comandos y listas de permitidos
- Establecer límites de recursos (CPU, memoria, disco)
- Registrar todos los comandos ejecutados
Recomendaciones clave
- Usa
ulimit
para establecer restricciones de recursos - Filtra comandos peligrosos (
sudo
,rm -rf
, etc.) - Ejecuta con permisos mínimos de usuario
- Monitorea y registra toda la ejecución de comandos
Precios
The bash tool adds 245 input tokens to your API calls. Additional tokens are consumed by:- Command outputs (stdout/stderr)
- Error messages
- Large file contents
Patrones comunes
Flujos de trabajo de desarrollo
- Ejecutar pruebas:
pytest && coverage report
- Construir proyectos:
npm install && npm run build
- Operaciones Git:
git status && git add . && git commit -m "mensaje"
Operaciones de archivos
- Procesar datos:
wc -l *.csv && ls -lh *.csv
- Buscar archivos:
find . -name "*.py" | xargs grep "patrón"
- Crear respaldos:
tar -czf backup.tar.gz ./data
Tareas del sistema
- Verificar recursos:
df -h && free -m
- Gestión de procesos:
ps aux | grep python
- Configuración del entorno:
export PATH=$PATH:/new/path && echo $PATH
Limitaciones
- Sin comandos interactivos: No puede manejar
vim
,less
, o solicitudes de contraseña - Sin aplicaciones GUI: Solo línea de comandos
- Alcance de sesión: Persiste dentro de la conversación, se pierde entre llamadas API
- Límites de salida: Las salidas grandes pueden ser truncadas
- Sin streaming: Los resultados se devuelven después de completarse