# A better CLI (in response to reddit post)

**URL:** <https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837>\
**Category:** General\
**Created:** [February 16, 2026, 4:09pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837 "2026-02-16T16:09:39Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![mreider](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/mreider/32/496_2.png) [@mreider](https://community.bear.app/u/mreider)\
**Post date:** [February 16, 2026, 4:09pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/1 "2026-02-16T16:09:39Z")

</div>

In response to [this](https://www.reddit.com/r/bearapp/comments/1r1ff7e/to_the_shiny_frog_people/) Reddit post I built a new CLI that uses Apple’s CloudKit REST API to read / write / edit / search bear notes instead of using the x-callback API or the SQLite database.

It will work much better for LLM interactions, and is less fragile than either of the options I listed above.

Try it out and let me know how it goes.

> **[GitHub - mreider/better-bear-cli](https://github.com/mreider/better-bear-cli)**
>
> Contribute to mreider/better-bear-cli development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![bpeps563](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/bpeps563/32/4321_2.png) [@bpeps563](https://community.bear.app/u/bpeps563)\
**Post date:** [February 17, 2026, 9:51pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/2 "2026-02-17T21:51:05Z")

</div>

I saw the thread you started on Reddit last week, and was very intrigued by the idea of being able to iteratively interface directly between claude and my bear notes library by just using natural language within the claude app.

forgive the ignorance of these questions, I’m a bear maximer with very limited coding experience, but does BCLI require and MCP to be utilized with Claude Desktop or is it just intended to be used with the Claude API in a terminal? If it is meant to be used with Claude Desktop have you already created an MCP to make that possible, or is that something I’d need to have cluade help me create?

One of the things that stood out to me about the solution you’re working on is that it focuses on ensuring robustness no matter how complex the task is, but I’m wondering how to tell what level of complexity of tasks might cause issues? If my needs are less complex would an existing solution like [THIS](https://community.bear.app/t/hi-im-the-developer-of-the-bear-notes-claude-extension-sharing-how-i-use-it/18714) be just fine for me?

---

<div class="post-metadata">

**Author:** ![AnthonyBaker](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/anthonybaker/32/2006_2.png) [@AnthonyBaker](https://community.bear.app/u/AnthonyBaker)\
**Post date:** [February 17, 2026, 11:55pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/3 "2026-02-17T23:55:25Z")

</div>

This is awesome @mreider — I’ll give a whirl. Had a question related to it, as I don’t use the web version of Bear: Is full-text search supported? Or is that not available via the web? Thanks in advance.

---

<div class="post-metadata">

**Author:** ![mreider](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/mreider/32/496_2.png) [@mreider](https://community.bear.app/u/mreider)\
**Post date:** [February 19, 2026, 3:54pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/4 "2026-02-19T15:54:37Z")

</div>

I’d start with the claude desktop Bear extension [here](https://github.com/vasylenko/claude-desktop-extension-bear-notes), see how it goes, continue from there if you want to.

My project might not be relevant to you or your life.

To answer your question, though, my CLI could / can be used from an MCP server but it doesn’t have to be. I saw someone incorporated it into an MCP [here](https://github.com/darronz/better-bear-mcp).

> **[GitHub - vasylenko/claude-desktop-extension-bear-notes: Claude Desktop extension with bundled MCP Server...](https://github.com/vasylenko/claude-desktop-extension-bear-notes)**
>
> Claude Desktop extension with bundled MCP Server for Bear note taking app

---

<div class="post-metadata">

**Author:** ![mreider](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/mreider/32/496_2.png) [@mreider](https://community.bear.app/u/mreider)\
**Post date:** [February 19, 2026, 3:56pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/5 "2026-02-19T15:56:17Z")

</div>

̶T̶h̶e̶ ̶s̶e̶a̶r̶c̶h̶ ̶f̶u̶n̶c̶t̶i̶o̶n̶a̶l̶i̶t̶y̶ ̶l̶o̶o̶k̶s̶ ̶t̶h̶e̶ ̶s̶a̶m̶e̶ ̶b̶e̶t̶w̶e̶e̶n̶ ̶d̶e̶s̶k̶t̶o̶p̶ ̶a̶n̶d̶ ̶w̶e̶b̶,̶ ̶a̶n̶d̶ ̶t̶h̶e̶r̶e̶f̶o̶r̶e̶ ̶m̶y̶ ̶C̶L̶I̶ ̶t̶a̶k̶e̶s̶ ̶a̶d̶v̶a̶n̶t̶a̶g̶e̶ ̶o̶f̶ ̶i̶t̶.̶

Sorry, the web app and my CLI only search tags. Searching the body of each note is not performant via web.

The latest version of the CLI now downloads and syncs things with a local cache that can be searched locally. The release notes are here.

> <https://github.com/mreider/better-bear-cli/commit/8a878cbf37aaa7e7bc87662183b6a38641b0269e>
>
> \- bcli sync: downloads all notes to ~/.config/bear-cli/cache.json
> \- Incremental …sync via CloudKit changes/zone endpoint with sync tokens
> \- bcli search now searches note body content, not just titles/tags
> \- Results ranked: title matches first, then tags, then body with context snippets
> \- Write commands (edit, create, trash) update cache after CloudKit write
> \- Auto-sync before search if cache is missing or stale (\>5 min)
> \- --no-sync flag for offline/fast search, --full flag for forced re-sync
> \- Cache is a disposable read-only mirror - CloudKit is always the source of truth

---

<div class="post-metadata">

**Author:** ![bpeps563](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/bpeps563/32/4321_2.png) [@bpeps563](https://community.bear.app/u/bpeps563)\
**Post date:** [February 19, 2026, 4:02pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/6 "2026-02-19T16:02:56Z")

</div>

thanks for the advice, and for sharing your work!

---

<div class="post-metadata">

**Author:** ![ddriver](https://avatars.discourse-cdn.com/v4/letter/d/13edae/32.png) [@ddriver](https://community.bear.app/u/ddriver)\
**Post date:** [February 20, 2026, 12:04pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/7 "2026-02-20T12:04:57Z")

</div>

I updated [better-bear-mcp](https://github.com/darronz/better-bear-mcp) to v0.2.2 to pull in the latest version of bcli.

One thing I wish it could do is toggle the status of a TODO list item (this is a limitation of Bear rather than `bcli`). I implemented full body replacement and am testing if this works.

---

<div class="post-metadata">

**Author:** ![mreider](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/mreider/32/496_2.png) [@mreider](https://community.bear.app/u/mreider)\
**Post date:** [February 20, 2026, 12:49pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/8 "2026-02-20T12:49:58Z")

</div>

Well, there is the To Do view, and I see the web view supports it. Sure, you’ll need to parse the page, update the checkbox, but you could likely list all the TO-DO’s from that list and ask the user which to check off and take care of it.

P̶u̶l̶l̶ ̶r̶e̶q̶u̶e̶s̶t̶s̶ ̶a̶r̶e̶ ̶e̶n̶c̶o̶u̶r̶a̶g̶e̶d̶

Latest release does what you’re saying.

---

<div class="post-metadata">

**Author:** ![mreider](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/mreider/32/496_2.png) [@mreider](https://community.bear.app/u/mreider)\
**Post date:** [April 11, 2026, 6:56pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/9 "2026-04-11T18:56:40Z")

</div>

Lots of updated functionality and news.

- Others are contributing, which is fun.
- Now comes with a bundled MCP server that does a very decent job
- Session expiry is now handled automagically
- Images can be posted, along with arguments for where they appear (–before, –after)
- Extensive testing implemented

Coming along well… 🙂

---

<div class="post-metadata">

**Author:** ![mreider](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/mreider/32/496_2.png) [@mreider](https://community.bear.app/u/mreider)\
**Post date:** [April 11, 2026, 6:57pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/10 "2026-04-11T18:57:16Z")

</div>

TODO is in there now. As is image upload support.

---

<div class="post-metadata">

**Author:** ![mreider](https://dub1.discourse-cdn.com/flex013/user_avatar/community.bear.app/mreider/32/496_2.png) [@mreider](https://community.bear.app/u/mreider)\
**Post date:** [April 11, 2026, 6:58pm UTC](https://community.bear.app/t/a-better-cli-in-response-to-reddit-post/18837/11 "2026-04-11T18:58:08Z")

</div>

There is now an alternative MCP server, which works for Claude Desktop. All documented well.
