manage-movelisted
Install: claude install-skill tboome33/obsidian-mcp-router
# manage-move
Call the obsidian-router `move_file` MCP tool with arguments parsed from $ARGUMENTS.
## Arguments
**Required**:
- `from` — source path relative to vault root.
- `to` — destination path relative to vault root.
**Optional**:
- `vault` — omit for default.
- `overwrite` — if true, replace an existing destination. Default false (refuses).
- `ifMatch` — a `contentSha256` from a prior `get_file` of the SOURCE. Refuses the move with a 409 conflict if the source changed since you read it.
## Argument parsing from $ARGUMENTS
- `<from> <to>` — most natural form, two paths separated by space
- `from=X to=Y`
- `--overwrite` or `overwrite=true` → set the flag
- `ifMatch=<hash>` → set `ifMatch` (checked against the source)
## Implementation note — partial-failure mode
The Local REST API plugin has no native move endpoint. The router falls back to GET source → PUT destination → DELETE source.
If the DELETE step fails after the PUT, the file is duplicated. The tool returns `sourceDeleted: false` and a `warning` field — surface this clearly so the user can clean up manually if needed.
## On failure — remediate, NEVER fall back to filesystem operations
If the call fails, do NOT silently redo the move with shell `mv` / FS tools on the vault's real path:
- **Connection error** (`ECONNREFUSED`, timeout) → vault closed; `list_vaults`, then ask the user to open it via the `openUri` link and wait.
- **Validation / API error** (e.g. destination exists without `overwrite`) → re