Skip to main content
Glama

Move or resize a window

hs_move_window

Reposition or resize a window by id using x, y, width, and height in pixel coordinates; any omitted property retains its current value.

Instructions

Set the position and/or size of a window by id, in screen pixels. Omitted fields keep their current value. Use hs_screens to learn the available coordinate space.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
idYesWindow id from hs_list_windows.
widthNo
heightNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses a key behavior: omitted fields keep their current value, enabling partial updates. It also specifies coordinate units and references hs_screens for coordinate space, but does not mention error handling or side effects like window focusing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct, with three sentences each serving a distinct purpose: stating the action and units, explaining partial-update behavior, and pointing to coordinate space. No redundant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a moderate mutation tool with five parameters and no output schema, the description covers the essential context: what it does, coordinate system, partial updates, and screen-space reference. It omits potential return-value details and edge cases, but these are not critical for invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (only id is described), so the description compensates. It clarifies that x/y are positions in screen pixels and that omitted optional fields retain current values. It doesn't explicitly define width/height as pixel sizes, but the wording 'size' and the overall context imply this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Set the position and/or size') and the resource ('a window by id'), specifying units in screen pixels. It distinguishes from sibling tools like hs_focus_window by focusing solely on geometry, and from hs_window_layout by targeting a single window via id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage pointer: use hs_screens to learn the available coordinate space, establishing a prerequisite. However, it does not explicitly discuss when not to use this tool or mention alternatives such as hs_window_layout for multi-window arrangement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vukvukovich/hammerspoon-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server