# force

Force removal even if worktree is dirty or locked (optional, default: false) (boolean, optional)

Agent View of the PolicyLayer registry record for `force`. HTML page: https://policylayer.com/tools/io-github-aifity-omnigit-mcp/force

## Facts

- Tool: `force`
- Server: GitHub (`oci:ghcr.io/aifity/omnigit-mcp:0.5.0`) — https://policylayer.com/tools/io-github-aifity-omnigit-mcp.md
- Homepage: https://github.com/aifity/omnigit-mcp
- Risk category: Destructive (Critical risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Hidden

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "force",
    "arguments": {}
  }
}
```

## Why force is rated Critical

This tool forcibly removes a git worktree regardless of its state, potentially causing permanent loss of uncommitted work or locked resources. While the parameter itself is boolean and optional, the semantic meaning of 'force removal' combined with the GitHub server context (git operations) places this firmly in the Destructive category. The blast radius is high if misused—an agent could wipe local work.

From the tool's own definition: "'Force removal even if worktree is dirty or locked' indicates irreversible deletion of git worktree state without safety checks or reversibility constraints."

## Use case

AI agents call force to permanently remove resources in GitHub, typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.

## Recommended policy (PolicyLayer)

Verdict: **Hidden**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches GitHub:

```json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "force"
  ]
}
```

## Other tools on GitHub (244)

- `delete_file` — Destructive — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/delete-file.md
- `git_reset` — Destructive — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/git-reset.md
- `git_worktree_prune` — Destructive — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/git-worktree-prune.md
- `git_worktree_remove` — Destructive — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/git-worktree-remove.md
- `actions_run_trigger` — Execute — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/actions-run-trigger.md
- `detach` — Execute — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/detach.md
- `git_checkout` — Execute — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/git-checkout.md
- `git_pull` — Execute — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/git-pull.md
- `git_push` — Execute — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/git-push.md
- `git_worktree_add` — Execute — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/git-worktree-add.md
- `git_worktree_lock` — Execute — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/git-worktree-lock.md
- `autoInit` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/autoinit.md
- `base` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/base.md
- `base_branch` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/base-branch.md
- `base_ref` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/base-ref.md
- `before_id` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/before-id.md
- `branch` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/branch.md
- `branch_name` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/branch-name.md
- `color` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/color.md
- `comment_id` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/comment-id.md
- `commentId` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/commentid.md
- `commit_title` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/commit-title.md
- `commitID` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/commitid.md
- `direction` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/direction.md
- `gist_id` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/gist-id.md
- `issue_number` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/issue-number.md
- `item_type` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/item-type.md
- `job_id` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/job-id.md
- `message` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/message.md
- `new_name` — Other — https://policylayer.com/tools/io-github-aifity-omnigit-mcp/new-name.md
- …and 214 more: https://policylayer.com/tools/io-github-aifity-omnigit-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-aifity-omnigit-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-aifity-omnigit-mcp
