mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2026-03-02 22:57:05 -05:00
[FEAT]: Navigate directly to a particular chat using the anythingllm:// protocol #3196
Labels
No labels
Desktop
Docker
Integration Request
Integration Request
OS: Linux
OS: Mobile
OS: Windows
UI/UX
blocked
bug
bug
core-team-only
documentation
duplicate
embed-widget
enhancement
feature request
github_actions
good first issue
investigating
needs info / can't replicate
possible bug
question
stage: specifications
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/anything-llm#3196
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @fred4code on GitHub (Feb 22, 2026).
I was looking for a way to directly open AnythingLLM Desktop (Windows version) to a specific chat, but I could not find this feature. So I tried to implement it myself. Below I explain how it can be done.
I am not opening a Pull Request because this is more of a proof-of-concept / hack. I decompiled the app.asar file, inspected dist-electron\main\index.js, modified it, minified the changes, and then rebuilt the asar file. It works, but I would like feedback from someone who knows the codebase better to understand whether this is the right approach and how it should be implemented properly.
I have been using AnythingLLM for about a week, so I might be missing some architectural considerations.
What works:
1) Go to the directory where AnythingLLM Desktop is installed on Windows. Typically:
C:\Users_YOUR_USER_\AppData\Local\Programs\AnythingLLM\resources
2) Extract app.asar:
npx asar extract app.asar app
3) In \app\dist-electron\main\index.js, just after "use strict", add the following function (and then re-minify it):
[all the other code follows]
4) In index.js, find the four occurrences where "protocol-url" is used and replace them as follows (in the order they appear):
1)
replace:
with:
2)
replace:
with:
3)
replace:
with:
4)
replace:
with:
5) Back up the original app.asar (so you can easily restore it if needed), delete it, and then repack the app folder:
npx asar pack app app.asar
6) Launch AnythingLLM Desktop again. If there are no errors, the modification was successful.
Now you can open a browser (e.g. Google Chrome) and type something like:
anythingLLM://chat/test/t/5398438f-01f2-56a6-gh0e-6b84k4a151kf
The chat with ID 5398438f-01f2-56a6-gh0e-6b84k4a151kf inside the workspace test will open directly.
Notes:
1) You can retrieve the chat URL by right-clicking a chat and selecting "Copy Link".
2) The "chat" part in the URL is a string I introduced in routeProtocolUrl to filter and route only chat-specific links.
3) This works if anythingllm:// is registered as a protocol in the system. On Windows, when I install AnythingLLM, the anythingllm:// protocol is automatically registered. I am not sure whether this is also handled automatically on Linux or macOS — this might be something to verify.
That’s all :D
Great tool — thank you for your work!