> ## Documentation Index
> Fetch the complete documentation index at: https://code.storage/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# repo.deleteNote()

> Remove a note from a commit.

> [!WARNING]
>
> This page documents the earlier Code Storage SDKs: `@pierre/storage`, `pierre-storage`, and
> `code-storage-go`. New code uses the [Pierre SDK](https://code.storage/docs/sdks.md). To move code to the new SDK, use the
> [`pierre-migrate`
> skill](https://github.com/pierrecomputer/skills/tree/main/skills/pierre-migrate).

Git notes allow you to attach metadata to commits without modifying the commit itself. Notes are
removed from `refs/notes/commits` by default. Pass `ref` to delete the note from another notes ref.

See [Git Notes](https://code.storage/docs/repos/git-notes.md) for notes ref rules and write behavior.

```typescript TypeScript theme={null} theme={"theme":{"light":"github-light","dark":"min-dark"}}
const result = await repo.deleteNote({
  sha: 'abc123def456...',
  ref: 'reviews', // optional
  author: { name: 'Cleanup Bot', email: 'cleanup@example.com' },
  expectedRefSha: currentNotesRefSha, // optional optimistic lock
});

console.log(`Note deleted, new ref: ${result.newRefSha}`);
```

```python Python theme={null} theme={"theme":{"light":"github-light","dark":"min-dark"}}
result = await repo.delete_note(
    sha="abc123def456...",
    ref="reviews",  # optional
    author={"name": "Cleanup Bot", "email": "cleanup@example.com"},
    expected_ref_sha=current_notes_ref_sha,  # optional optimistic lock
)

print(f"Note deleted, new ref: {result['new_ref_sha']}")
```

```go Go theme={null} theme={"theme":{"light":"github-light","dark":"min-dark"}}
// Delete a git note
result, err := repo.DeleteNote(context.Background(), storage.DeleteNoteOptions{
	SHA: "abc123def456",
	Ref: "reviews", // optional
	Author: &storage.NoteAuthor{
		Name:  "Cleanup Bot",
		Email: "cleanup@example.com",
	},
	ExpectedRefSHA: currentNotesRefSHA,
})
fmt.Printf("Note deleted, new ref: %s", result.NewRefSHA)
```

## Options

**sha** `string` *required*

Commit SHA to remove the note from

**ref** `string`

Notes ref to delete the note from. Accepts short names like `reviews`, `notes/reviews`, or full
refs like `refs/notes/reviews`; all are normalized to a full `refs/notes/*` ref. Defaults to
`refs/notes/commits`. Go: `Ref`.

**author** `string`

Author signature (`name` and `email`)

**expectedRefSha** `string`

Expected SHA of the target notes ref for optimistic concurrency control

**ttl** `string`

Token TTL. Token TTL in seconds.

**refPolicies** `object[]`

Ordered ref policy rules (`{ pattern, ops? }`) in the JWT for this call. Code Storage checks the target notes ref. Python: `ref_policies`. Go: `RefPolicies` with type `storage.RefPolicyList`. See [Ref Policies](https://code.storage/docs/repos/ref-policies.md).

## Response

**sha** `string`

The commit SHA the note was attached to

**targetRef** `string`

The canonical notes ref that was updated

**baseCommit** `string`

Previous notes ref commit SHA

**newRefSha** `string`

New notes ref SHA after the operation

**result** `object`

Operation result with `success`, `status`, and optional `message`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.