| name | bear |
| description | Interacts with Bear note-taking app on macOS via X-Callback-URL. Use when user asks to create Bear notes, search notes, add text to notes, manage tags, capture web pages to Bear, or perform any other Bear note management tasks. Supports note creation, text appending, tag management, note search, and web page capture. |
Bear Note Integration
Integrates Claude with the Bear note-taking app on macOS, enabling automated note creation, searching, editing, and tag management through X-Callback-URL.
Quick Start
Prerequisites
- Bear app installed on macOS
- API Token (optional, for search/tags features):
- Help > Advanced > API Token > Copy Token
- Set environment variable:
export BEAR_API_TOKEN="your-token"
- xcall tool (optional, for response handling):
- Download from xcall releases
- Install to
/Applications/xcall.app
Basic Usage
Create a note:
from scripts.bear import create_note
# Create note without response
create_note(title="My Note", text="Content here", tags="work,important")
# Get response with note ID (requires xcall)
result = create_note(title="My Note", text="Content", return_id=True)
print(result['identifier'])
Search notes:
from scripts.bear import search_notes
# Requires xcall and token
results = search_notes(term="project-x", tag="work")
for note in results:
print(f"{note['title']} - {note['identifier']}")
Core Tasks
1. Create Notes
Create new notes in Bear with optional tags and timestamps.
from scripts.bear import create_note
# Basic note creation
create_note(
title="Daily Standup",
text="## Progress\n- Task 1 complete\n- Task 2 in progress",
tags="work,standup"
)
# With timestamp
create_note(
title="Meeting Notes",
text="Key discussion points...",
tags="meetings",
add_timestamp=True
)
# With response (returns note ID)
result = create_note(
title="Important Note",
text="Critical information",
return_id=True
)
note_id = result['identifier']
2. Search Notes
Find notes by keywords with optional tag filtering.
from scripts.bear import search_notes
# Keyword search
results = search_notes(term="Python")
# Tag filtering
results = search_notes(term="bug", tag="development")
# Process results
for note in results:
print(f"Title: {note['title']}")
print(f"ID: {note['identifier']}")
print(f"Modified: {note['modificationDate']}")
3. Add Text to Notes
Append or replace text in existing notes.
from scripts.bear import add_text
# Append text
add_text(
note_id="7E4B681B",
text="\n\n## Update\nNew content added",
mode="append"
)
# Append to specific header
add_text(
note_id="7E4B681B",
text="- New item",
mode="append",
header="TODO"
)
# Replace all content
add_text(
note_id="7E4B681B",
text="New complete content",
mode="replace_all"
)
4. Manage Tags
List, rename, and delete tags.
from scripts.bear import get_tags, rename_tag, delete_tag
# List all tags
tags = get_tags()
for tag in tags:
print(tag['name'])
# Rename tag
rename_tag(old_name="todo", new_name="inbox")
# Delete tag
delete_tag(name="archive")
5. Capture Web Pages
Save web page content as new Bear notes.
from scripts.bear import grab_url
# Capture URL as note
result = grab_url(
url="https://example.com/article",
tags="reference,articles"
)
# With response
result = grab_url(
url="https://docs.python.org",
tags="docs",
return_id=True
)
note_id = result['identifier']
Bundled Resources
scripts/
Python module bear.py provides functions for all Bear X-Callback-URL actions:
create_note()- Create notessearch_notes()- Search notesadd_text()- Append/replace textopen_note()- Open notesget_tags()- List all tagsrename_tag()- Rename tagsdelete_tag()- Delete tagsgrab_url()- Capture web pagestrash_note(),archive_note()- Organize notes
references/
- actions.md: Complete X-Callback-URL API reference with all parameters
- workflows.md: Common workflows and integration patterns
- troubleshooting.md: Setup help and common issues
See these files for detailed API documentation and advanced usage patterns.