Docs

move_note

Move or rename a note

Writes: one commit per change Can remove or replace Idempotent

Description

What the model reads, word for word:

Moves a note to a new path, or renames it, updating links to it.

Parameters

Name Type Required Description
from string yes The note to move, as a path relative to the vault root, for example “projects/apollo/plan.md”. Or a whole folder, without a trailing slash, for example “projects/apollo”.
to string yes Where it should be afterwards, as a path relative to the vault root: ending in .md for a note, a folder path for a folder. Missing folders are created. The target must not exist yet — except for a rename that only changes upper and lower case.
summary string yes Git history. First line: what changed, at most 60 characters, no client or project (the server adds it), e.g. “Moved the plan into its own folder”. More lines, optional: why.
type string Change the note’s type, as its type field in the frontmatter. The note must meet the new type’s schema, and the target must match a place of the new type.
repo "handbook" | "projects" yes The repository this call works in. One of the repositories the person can read; the values above are Acme’s.

Result

As structuredContent and, the same, as a text block.

Field Type Description
from string Where the note or folder was.
to string Where it is now.
files number
links number How many references were changed, across all files.
updated object[]
updated[].path string
updated[].links number
updated[].repo string
commit string Hash of the commit that holds the move and every changed reference, as Git recorded it.
outsideReferences number References to the moved note in files outside the open folders (folders in .vault/settings.jsonc), which this move could not update. 0 without folders configured, or when there are none; their paths are never named, since a path outside the open folders reads as missing.
note string
repo string

As listed

The entry in tools/list, captured from the service for Acme’s two repositories.

{
  "name": "move_note",
  "title": "Move or rename a note",
  "description": "Moves a note to a new path, or renames it, updating links to it.",
  "inputSchema": {
    "type": "object",
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "properties": {
      "from": {
        "type": "string",
        "description": "The note to move, as a path relative to the vault root, for example \"projects/apollo/plan.md\". Or a whole folder, without a trailing slash, for example \"projects/apollo\"."
      },
      "to": {
        "type": "string",
        "description": "Where it should be afterwards, as a path relative to the vault root: ending in .md for a note, a folder path for a folder. Missing folders are created. The target must not exist yet — except for a rename that only changes upper and lower case."
      },
      "summary": {
        "type": "string",
        "minLength": 1,
        "description": "Git history. First line: what changed, at most 60 characters, no client or project (the server adds it), e.g. \"Moved the plan into its own folder\". More lines, optional: why."
      },
      "type": {
        "description": "Change the note's type, as its type field in the frontmatter. The note must meet the new type's schema, and the target must match a place of the new type.",
        "type": "string"
      },
      "repo": {
        "type": "string",
        "description": "The repository this call works in.",
        "anyOf": [
          {
            "const": "handbook",
            "description": "How Acme works: onboarding, processes and policies."
          },
          {
            "const": "projects",
            "description": "One folder per project: plans, decisions and meeting notes."
          }
        ]
      }
    },
    "required": [
      "from",
      "to",
      "summary",
      "repo"
    ]
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": true,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "outputSchema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "from": {
        "type": "string",
        "description": "Where the note or folder was."
      },
      "to": {
        "type": "string",
        "description": "Where it is now."
      },
      "files": {
        "type": "number"
      },
      "links": {
        "type": "number",
        "description": "How many references were changed, across all files."
      },
      "updated": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "path": {
              "type": "string"
            },
            "links": {
              "type": "number"
            },
            "repo": {
              "type": "string"
            }
          },
          "required": [
            "path",
            "links"
          ],
          "additionalProperties": false
        }
      },
      "commit": {
        "type": "string",
        "description": "Hash of the commit that holds the move and every changed reference, as Git recorded it."
      },
      "outsideReferences": {
        "type": "number",
        "description": "References to the moved note in files outside the open folders (`folders` in .vault/settings.jsonc), which this move could not update. 0 without folders configured, or when there are none; their paths are never named, since a path outside the open folders reads as missing."
      },
      "note": {
        "type": "string"
      },
      "repo": {
        "type": "string"
      }
    },
    "required": [
      "from",
      "to",
      "links",
      "updated",
      "commit",
      "outsideReferences"
    ],
    "additionalProperties": false
  }
}

Major Vault is made by majortom.ai. The tool pages are generated from the code of this build. For agents: llms.txt, llms-full.txt.