Claude Platform Docs
  • Mensajes
  • Agentes gestionados
  • Administración

Search...
⌘K
Primeros pasos
Introducción a ClaudeInicio rápido
Desarrollar con Claude
Descripción general de funcionesUso de la API de MensajesMotivos de detención y respaldoRechazos y respaldoCrédito de respaldo
Capacidades del modelo
Pensamiento extendidoPensamiento adaptativoEsfuerzoPresupuestos de tareas (beta)Modo rápido (vista previa de investigación)Salidas estructuradasCitasStreaming de mensajesProcesamiento por lotesResultados de búsquedaStreaming de rechazosSoporte multilingüeEmbeddings
Herramientas
Descripción generalCómo funciona el uso de herramientasTutorial: Crear un agente que usa herramientasDefinir herramientasGestionar llamadas a herramientasUso de herramientas en paraleloTool Runner (SDK)Uso de herramientas estrictoHerramientas de servidorHerramienta de búsqueda webHerramienta de obtención webHerramienta de ejecución de códigoHerramienta de asesorHerramienta de búsqueda de herramientasHerramienta de memoriaHerramienta BashHerramienta de editor de textoHerramienta de uso de computadoraSolución de problemas
Infraestructura de herramientas
Referencia de herramientasGestionar el contexto de herramientasCombinaciones de herramientasUso de herramientas con almacenamiento en caché de promptsLlamadas programáticas a herramientasStreaming detallado de herramientas
Gestión de contexto
Ventanas de contextoCompactaciónEdición de contextoAlmacenamiento en caché de promptsMensajes del sistema a mitad de conversaciónCrear un modo de orquestaciónDiagnóstico de caché (beta)Conteo de tokens
Trabajar con archivos
API de archivosCompatibilidad con PDF
Habilidades
Descripción generalInicio rápidoMejores prácticasHabilidades para empresasHabilidades en la API
MCP
Servidores MCP remotosConector MCP
Claude en plataformas en la nube
Amazon BedrockAmazon Bedrock (heredado)Claude Platform en AWSGoogle CloudMicrosoft Foundry

Log in
Herramienta de editor de texto
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Claude on Google Cloud

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Mensajes/Herramientas

Herramienta de editor de texto



Esta función es elegible para Zero Data Retention (ZDR). Cuando tu organización tiene un acuerdo de ZDR, los datos enviados a través de esta función no se almacenan después de que se devuelve la respuesta de la API.

Claude puede usar una herramienta de editor de texto con esquema de Anthropic para ver y modificar archivos de texto, ayudándote a depurar, corregir y mejorar tu código u otros documentos de texto. Esto permite que Claude interactúe directamente con tus archivos, proporcionando asistencia práctica en lugar de solo sugerir cambios.

Para ver la compatibilidad con modelos, consulta la Referencia de herramientas.

Cuándo usar la herramienta de editor de texto

Algunos ejemplos de cuándo usar la herramienta de editor de texto son:

  • Depuración de código: Haz que Claude identifique y corrija errores en tu código, desde errores de sintaxis hasta problemas de lógica.
  • Refactorización de código: Permite que Claude mejore la estructura, legibilidad y rendimiento de tu código mediante ediciones específicas.
  • Generación de documentación: Pide a Claude que agregue docstrings, comentarios o archivos README a tu base de código.
  • Creación de pruebas: Haz que Claude cree pruebas unitarias para tu código basándose en su comprensión de la implementación.

Usar la herramienta de editor de texto

Proporciona la herramienta de editor de texto (llamada str_replace_based_edit_tool) a Claude usando la API de Messages.

Opcionalmente, puedes especificar un parámetro max_characters para controlar el truncamiento al ver archivos grandes.



max_characters solo es compatible con text_editor_20250728 y versiones posteriores de la herramienta de editor de texto.

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    tools=[
        {
            "type": "text_editor_20250728",
            "name": "str_replace_based_edit_tool",
            "max_characters": 10000,
        }
    ],
    messages=[
        {
            "role": "user",
            "content": "There's a syntax error in my primes.py file. Can you help me fix it?",
        }
    ],
)

print(response)

La herramienta de editor de texto se puede usar de la siguiente manera:

  1. 1

    Proporciona a Claude la herramienta de editor de texto y un prompt de usuario

    • Incluye la herramienta de editor de texto en tu solicitud a la API
    • Proporciona un prompt de usuario que pueda requerir examinar o modificar archivos, como "¿Puedes corregir el error de sintaxis en mi código?"
  2. 2

    Claude usa la herramienta para examinar archivos o directorios

    • Claude evalúa qué necesita revisar y usa el comando view para examinar el contenido de archivos o listar el contenido de directorios
    • La respuesta de la API contendrá un bloque de contenido tool_use con el comando view
  3. 3

    Ejecuta el comando view y devuelve los resultados

    • Extrae la ruta del archivo o directorio de la solicitud de uso de herramientas de Claude
    • Lee el contenido del archivo o lista el contenido del directorio
    • Si se especificó un parámetro max_characters en la configuración de la herramienta, trunca el contenido del archivo a esa longitud
    • Devuelve los resultados a Claude continuando la conversación con un nuevo mensaje user que contenga un bloque de contenido tool_result
  4. 4

    Claude usa la herramienta para modificar archivos

    • Después de examinar el archivo o directorio, Claude puede usar un comando como str_replace para hacer cambios o insert para agregar texto en un número de línea específico.
    • Si Claude usa el comando str_replace, Claude construye una solicitud de uso de herramientas con el formato adecuado que incluye el texto antiguo y el texto nuevo con el que reemplazarlo
  5. 5

    Ejecuta la edición y devuelve los resultados

    • Extrae la ruta del archivo, el texto antiguo y el texto nuevo de la solicitud de uso de herramientas de Claude
    • Realiza el reemplazo de texto en el archivo
    • Devuelve los resultados a Claude
  6. 6

    Claude proporciona su análisis y explicación

    • Después de examinar y posiblemente editar los archivos, Claude proporciona una explicación completa de lo que encontró y qué cambios realizó

Comandos de la herramienta de editor de texto

La herramienta de editor de texto admite varios comandos para ver y modificar archivos:

view

El comando view permite a Claude examinar el contenido de un archivo o listar el contenido de un directorio. Puede leer el archivo completo o un rango específico de líneas.

Parámetros:

  • command: Debe ser "view"
  • path: La ruta al archivo o directorio a ver
  • view_range (opcional): Un arreglo de dos enteros que especifica los números de línea inicial y final a ver. Los números de línea comienzan en 1, y -1 para la línea final significa leer hasta el final del archivo. Este parámetro solo aplica al ver archivos, no directorios.

str_replace

El comando str_replace permite a Claude reemplazar una cadena específica en un archivo con una nueva cadena. Esto se usa para hacer ediciones precisas.

Parámetros:

  • command: Debe ser "str_replace"
  • path: La ruta al archivo a modificar
  • old_str: El texto a reemplazar (debe coincidir exactamente, incluyendo espacios en blanco e indentación)
  • new_str: El nuevo texto a insertar en lugar del texto antiguo

create

El comando create permite a Claude crear un nuevo archivo con el contenido especificado.

Parámetros:

  • command: Debe ser "create"
  • path: La ruta donde se debe crear el nuevo archivo
  • file_text: El contenido a escribir en el nuevo archivo

insert

El comando insert permite a Claude insertar texto en una ubicación específica de un archivo.

Parámetros:

  • command: Debe ser "insert"
  • path: La ruta al archivo a modificar
  • insert_line: El número de línea después del cual insertar el texto (0 para el inicio del archivo)
  • insert_text: El texto a insertar

Ejemplo: Corregir un error de sintaxis con la herramienta de editor de texto

Este ejemplo demuestra cómo Claude usa la herramienta de editor de texto para corregir un error de sintaxis en un archivo de Python.

Primero, tu aplicación proporciona a Claude la herramienta de editor de texto y un prompt para corregir un error de sintaxis:

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    tools=[{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}],
    messages=[
        {
            "role": "user",
            "content": "There's a syntax error in my primes.py file. Can you help me fix it?",
        }
    ],
)

print(response)

Claude usa primero la herramienta de editor de texto para ver el archivo:

Output
{
  "id": "msg_01XAbCDeFgHiJkLmNoPQrStU",
  "model": "claude-opus-4-8",
  "stop_reason": "tool_use",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "I'll help you fix the syntax error in your primes.py file. First, let me take a look at the file to identify the issue."
    },
    {
      "type": "tool_use",
      "id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
      "name": "str_replace_based_edit_tool",
      "input": {
        "command": "view",
        "path": "primes.py"
      }
    }
  ]
}

Tu aplicación debe entonces leer el archivo y devolver su contenido a Claude:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    tools=[{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}],
    messages=[
        {
            "role": "user",
            "content": "There's a syntax error in my primes.py file. Can you help me fix it?",
        },
        {
            "role": "assistant",
            "content": [
                {
                    "type": "text",
                    "text": "I'll help you fix the syntax error in your primes.py file. First, let me take a look at the file to identify the issue.",
                },
                {
                    "type": "tool_use",
                    "id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
                    "name": "str_replace_based_edit_tool",
                    "input": {"command": "view", "path": "primes.py"},
                },
            ],
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "tool_result",
                    "tool_use_id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
                    "content": '1: def is_prime(n):\n2:     """Check if a number is prime."""\n3:     if n <= 1:\n4:         return False\n5:     if n <= 3:\n6:         return True\n7:     if n % 2 == 0 or n % 3 == 0:\n8:         return False\n9:     i = 5\n10:     while i * i <= n:\n11:         if n % i == 0 or n % (i + 2) == 0:\n12:             return False\n13:         i += 6\n14:     return True\n15: \n16: def get_primes(limit):\n17:     """Generate a list of prime numbers up to the given limit."""\n18:     primes = []\n19:     for num in range(2, limit + 1)\n20:         if is_prime(num):\n21:             primes.append(num)\n22:     return primes\n23: \n24: def main():\n25:     """Main function to demonstrate prime number generation."""\n26:     limit = 100\n27:     prime_list = get_primes(limit)\n28:     print(f"Prime numbers up to {limit}:")\n29:     print(prime_list)\n30:     print(f"Found {len(prime_list)} prime numbers.")\n31: \n32: if __name__ == "__main__":\n33:     main()',
                }
            ],
        },
    ],
)

print(response)


Números de línea

En el ejemplo anterior, el resultado de la herramienta view incluye el contenido del archivo con números de línea antepuestos a cada línea (por ejemplo, "1: def is_prime(n):"). Los números de línea no son obligatorios, pero son esenciales para usar correctamente el parámetro view_range para examinar secciones específicas de archivos y el parámetro insert_line para agregar contenido en ubicaciones precisas.

Claude identifica el error de sintaxis y usa el comando str_replace para corregirlo:

Output
{
  "id": "msg_01VwXyZAbCdEfGhIjKlMnO",
  "model": "claude-opus-4-8",
  "stop_reason": "tool_use",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "I found the syntax error in your primes.py file. In the `get_primes` function, there is a missing colon (:) at the end of the for loop line. Let me fix that for you."
    },
    {
      "type": "tool_use",
      "id": "toolu_01PqRsTuVwXyZAbCdEfGh",
      "name": "str_replace_based_edit_tool",
      "input": {
        "command": "str_replace",
        "path": "primes.py",
        "old_str": "    for num in range(2, limit + 1)",
        "new_str": "    for num in range(2, limit + 1):"
      }
    }
  ]
}

Tu aplicación debe entonces realizar la edición y devolver el resultado:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    tools=[{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}],
    messages=[
        # Mensajes anteriores...
        {
            "role": "assistant",
            "content": [
                {
                    "type": "text",
                    "text": "I found the syntax error in your primes.py file. In the `get_primes` function, there is a missing colon (:) at the end of the for loop line. Let me fix that for you.",
                },
                {
                    "type": "tool_use",
                    "id": "toolu_01PqRsTuVwXyZAbCdEfGh",
                    "name": "str_replace_based_edit_tool",
                    "input": {
                        "command": "str_replace",
                        "path": "primes.py",
                        "old_str": "    for num in range(2, limit + 1)",
                        "new_str": "    for num in range(2, limit + 1):",
                    },
                },
            ],
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "tool_result",
                    "tool_use_id": "toolu_01PqRsTuVwXyZAbCdEfGh",
                    "content": "Successfully replaced text at exactly one location.",
                }
            ],
        },
    ],
)

print(response)

Finalmente, Claude proporciona una explicación completa de la corrección:

Output
{
  "id": "msg_01IjKlMnOpQrStUvWxYzAb",
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "I've fixed the syntax error in your primes.py file. The issue was in the `get_primes` function at line 19. There was a missing colon (:) at the end of the for loop line.\n\nHere's what I changed:\n\nFrom:\n```python\nfor num in range(2, limit + 1)\n```\n\nTo:\n```python\nfor num in range(2, limit + 1):\n```\n\nIn Python, a colon is required at the end of statements that start a new code block, such as for loops, if statements, function definitions, etc. Without the colon, Python raises a syntax error because it doesn't know where the code block begins.\n\nYour code should now run correctly. The function will properly generate a list of prime numbers up to the specified limit."
    }
  ]
}

Implementar la herramienta de editor de texto

La herramienta de editor de texto 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.

El tipo de herramienta es type: "text_editor_20250728" para los modelos Claude 4.

  1. 1

    Inicializa tu implementación del editor

    Crea funciones auxiliares para manejar operaciones de archivos como leer, escribir y modificar archivos. Considera implementar funcionalidad de respaldo para recuperarte de errores.

  2. 2

    Maneja las llamadas a la herramienta de editor

    Crea una función que procese las llamadas a herramientas de Claude según el tipo de comando:

    def handle_editor_tool(tool_call):
        input_params = tool_call.input
        command = input_params.get("command", "")
        file_path = input_params.get("path", "")
    
        if command == "view":
            # Leer y devolver el contenido del archivo
            pass
        elif command == "str_replace":
            # Reemplazar texto en el archivo
            pass
        elif command == "create":
            # Crear un nuevo archivo
            pass
        elif command == "insert":
            # Insertar texto en la ubicación
            pass
  3. 3

    Implementa medidas de seguridad

    Agrega validación y verificaciones de seguridad:

    • Valida las rutas de archivos para prevenir el recorrido de directorios (directory traversal)
    • Crea respaldos antes de hacer cambios
    • Maneja los errores de forma adecuada
    • Implementa verificaciones de permisos
  4. 4

    Procesa las respuestas de Claude

    Extrae y maneja las llamadas a herramientas de las respuestas de Claude:

    # Procesa el uso de herramientas en la respuesta de Claude
    for content in response.content:
        if content.type == "tool_use":
            # Ejecuta la herramienta según el comando
            result = handle_editor_tool(content)
    
            # Devuelve el resultado a Claude
            tool_result = {
                "type": "tool_result",
                "tool_use_id": content.id,
                "content": result,
            }


Al implementar la herramienta de editor de texto, ten en cuenta lo siguiente:

  1. Seguridad: La herramienta tiene acceso a tu sistema de archivos local, así que implementa medidas de seguridad adecuadas.
  2. Respaldo: Siempre crea respaldos antes de permitir ediciones en archivos importantes.
  3. Validación: Valida todas las entradas para prevenir cambios no deseados.
  4. Coincidencia única: Asegúrate de que los reemplazos coincidan exactamente con una sola ubicación para evitar ediciones no deseadas.

Manejar errores

Al usar la herramienta de editor de texto, pueden ocurrir varios errores. Aquí tienes orientación sobre cómo manejarlos:

Sigue las mejores prácticas de implementación


Precios y uso de tokens

La herramienta de editor de texto utiliza la misma estructura de precios que otras herramientas usadas con Claude. Sigue el precio estándar de tokens de entrada y salida según el modelo de Claude que estés usando.

Además de los tokens base, se necesitan los siguientes tokens de entrada adicionales para la herramienta de editor de texto:

HerramientaTokens de entrada adicionales
text_editor_20250429 (Claude 4.x)700 tokens

Para obtener información más detallada sobre los precios de las herramientas, consulta Precios del uso de herramientas.

Integrar la herramienta de editor de texto con otras herramientas

La herramienta de editor de texto se puede usar junto con otras herramientas de Claude. Al combinar herramientas, asegúrate de:

  • Hacer coincidir la versión de la herramienta con el modelo que estás usando
  • Tener en cuenta el uso adicional de tokens para todas las herramientas incluidas en tu solicitud

Registro de cambios

FechaVersiónCambios
28 de julio de 2025text_editor_20250728Lanzamiento de una herramienta de editor de texto actualizada que corrige algunos problemas y agrega un parámetro opcional max_characters. Por lo demás, es idéntica a text_editor_20250429.
29 de abril de 2025text_editor_20250429Lanzamiento de la herramienta de editor de texto para Claude 4. Esta versión elimina el comando undo_edit pero mantiene todas las demás capacidades. El nombre de la herramienta se ha actualizado para reflejar su arquitectura basada en str_replace.
13 de marzo de 2025text_editor_20250124Introducción de la documentación independiente de la herramienta de editor de texto. Esta versión está optimizada para Claude Sonnet 3.7 pero tiene capacidades idénticas a la versión anterior.
22 de octubre de 2024text_editor_20241022Lanzamiento inicial de la herramienta de editor de texto con Claude Sonnet 3.5 (retirado). Proporciona capacidades para ver, crear y editar archivos a través de los comandos view, create, str_replace, insert y undo_edit.

Próximos pasos

Aquí tienes algunas ideas sobre cómo usar la herramienta de editor de texto de formas más convenientes y potentes:

  • Intégrala con tu flujo de trabajo de desarrollo: Incorpora la herramienta de editor de texto en tus herramientas de desarrollo o IDE
  • Crea un sistema de revisión de código: Haz que Claude revise tu código y realice mejoras
  • Construye un asistente de depuración: Crea un sistema donde Claude pueda ayudarte a diagnosticar y corregir problemas en tu código
  • Implementa conversión de formatos de archivo: Permite que Claude te ayude a convertir archivos de un formato a otro
  • Automatiza la documentación: Configura flujos de trabajo para que Claude documente automáticamente tu código

La herramienta de editor de texto permite que Claude trabaje directamente con tu base de código, admitiendo flujos de trabajo que van desde la depuración hasta la documentación automatizada.


Descripción general del uso de herramientas

Aprende cómo implementar flujos de trabajo de herramientas para usar con Claude.

Herramienta Bash

Ejecuta comandos de shell con Claude.

Was this page helpful?

  • Cuándo usar la herramienta de editor de texto
  • Usar la herramienta de editor de texto
  • Comandos de la herramienta de editor de texto
  • Ejemplo: Corregir un error de sintaxis con la herramienta de editor de texto
  • Implementar la herramienta de editor de texto
  • Manejar errores
  • Sigue las mejores prácticas de implementación
  • Precios y uso de tokens
  • Integrar la herramienta de editor de texto con otras herramientas
  • Registro de cambios
  • Próximos pasos