# YAML duplicate key checker

- Human page: https://happytails.ai/en/data-tools/yaml-duplicate-key-checker/
- Markdown: https://happytails.ai/en/data-tools/yaml-duplicate-key-checker.md
- Structured JSON: https://happytails.ai/agents/en/data-tools/yaml-duplicate-key-checker/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `yaml-duplicate-key-checker` |
| Category | data-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Automatic updates after valid input or file selection. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Up to 100 YAML documents, 50,000 parsed nodes and 64 nesting levels. Diagnostic reports omit source text and key values. No application schema is checked. Find duplicate scalar mapping keys and show their document, line and column. String keys and numeric keys remain distinct types. Collection-valued keys and unresolved tags are reported as unsupported instead of receiving a false all-clear. Includes up to 500 diagnostics with an omitted count. Runs on your device. No remote configuration, repository or credentials are queried. Up to 1,000,000 input characters; output files are limited to 4,000,000 characters each.

### Inputs and settings

Text input: Configuration text.

Example or placeholder shown in the interface (not a validated fixture):

```text
service:
  timeout: 30
  timeout: 60
```

Paste text to process locally. Review the supported syntax and the result before downloading. Results update as you type. Up to 1,000,000 characters.

No additional settings are declared for this tool.

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Up to 100 documents, 50,000 parsed nodes and 64 nesting levels. Diagnostic reports omit source text and key values. No application schema is checked. Runs on your device with no configuration, repository or credential lookups. Up to 1,000,000 input characters and 4,000,000 characters per output file.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "yaml-duplicate-key-checker",
  "category": "data-tools",
  "built": true,
  "requirements": "Up to 100 documents, 50,000 parsed nodes and 64 nesting levels. Diagnostic reports omit source text and key values. No application schema is checked. Runs on your device with no configuration, repository or credential lookups. Up to 1,000,000 input characters and 4,000,000 characters per output file.",
  "implementation": {
    "fields": [],
    "live": true,
    "presentation": "metrics",
    "note": "Up to 100 YAML documents, 50,000 parsed nodes and 64 nesting levels. Diagnostic reports omit source text and key values. No application schema is checked. Find duplicate scalar mapping keys and show their document, line and column. String keys and numeric keys remain distinct types. Collection-valued keys and unresolved tags are reported as unsupported instead of receiving a false all-clear. Includes up to 500 diagnostics with an omitted count. Runs on your device. No remote configuration, repository or credentials are queried. Up to 1,000,000 input characters; output files are limited to 4,000,000 characters each.",
    "experience": {
      "automatic": true,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Configuration text",
      "placeholder": "service:\n  timeout: 30\n  timeout: 60\n",
      "help": "Paste text to process locally. Review the supported syntax and the result before downloading. Results update as you type. Up to 1,000,000 characters.",
      "action": null
    },
    "mode": "automatic",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Find duplicate YAML mapping keys with document, line and column locations. Check nested maps without silently overwriting earlier entries.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use YAML duplicate key checker

1. Paste the YAML configuration.
2. Review each issue’s document and source location.
3. Correct duplicates and rerun, then download the diagnostic report.

## Useful next steps

- [YAML anchor resolver](https://happytails.ai/en/data-tools/yaml-anchor-resolver/) ([Markdown](https://happytails.ai/en/data-tools/yaml-anchor-resolver.md))

- [YAML document splitter](https://happytails.ai/en/data-tools/yaml-document-splitter/) ([Markdown](https://happytails.ai/en/data-tools/yaml-document-splitter.md))

## Find duplicates in their own mapping

Paste one or more YAML documents. A repeated scalar key in the same mapping is flagged, including nested maps and scalar alias keys. The same key in separate maps is allowed. Numeric and quoted string keys remain distinct types.

### Get locations without exposing configuration values

The report contains fixed issue messages and document, line and column numbers. It does not repeat keys, values or neighboring source lines. Up to 500 diagnostics are listed with a count of omitted issues.

### Distinguish no duplicates from unsupported input

The checker also reports syntax errors and unresolved aliases. Collection-valued mapping keys and unknown tags are explicitly unsupported rather than receiving an all-clear. It does not verify application-specific settings or merge-key precedence.
