Pierrad/obsidian-github-copilot: GitHub Copilot inline completions and chat inside Obsidian
A bridge between Obsidian and Github Copilot
At a glance
- What is it?
- This Obsidian plugin bridges the editor to the GitHub Copilot service, offering inline suggestions and a sidebar chat. It needs a paid Copilot subscription, a Node.js 22 or later binary path, and a network connection.
- Who is it for?
- Adopt this plugin if you already pay for GitHub Copilot, write code or structured text inside Obsidian, and are willing to point the settings at a Node.js 22 or later binary. Skip it if you want a local model, a free completion source, or a plugin that streams chat tokens as they arrive; the README states streaming is not implemented and depends on Obsidian's requestUrl gaining streaming support.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 136 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What obsidian-github-copilot actually bridges
Obsidian is a local-first note editor. GitHub Copilot is a hosted completion and chat service tied to a GitHub subscription. The two do not speak to each other on their own, and this plugin is the piece in between. The README describes it plainly: "This plugin is a bridge between the Obsidian editor and the GitHub Copilot service."
The intended user is someone who already pays for Copilot and wants the same suggestions while writing in Obsidian, whether that is code notes, snippets, or prose with a lot of structure. Two capabilities are listed: inline suggestions as you type, and a chat panel that can answer questions about your notes. The chat accepts [[double bracket]] links, so a question can reference a note by name.
This is not a general AI plugin for Obsidian. There is no local model, no bring-your-own-key path, and no free tier described. The requirements section lists a GitHub Copilot subscription and a network connection, and nothing else will substitute for them.
A Node.js sidecar and a language server behind the inline suggestions
The interesting part of the architecture is that inline completion is not a plain HTTP call. The package depends on @pierrad/ts-lsp-client, adm-zip, and extract-zip, and the README tells you to supply the path to a Node.js 22 or later binary. Taken together, the shape is: the plugin locates your Node binary, uses the zip libraries to unpack or locate the Copilot language server, runs it as a child process, and talks to it over LSP through the ts-lsp-client package. That is why Node is a hard requirement rather than an implementation detail.
Chat is a separate path. The dependencies include react, react-dom, react-markdown, react-syntax-highlighter, remark-gfm, mermaid, zustand, and react-hotkeys-hook, which matches the README's description of a sidebar panel with model selection, chat history, a configurable system prompt, and rendered Mermaid diagrams. Streamed responses are explicitly not implemented; the README attributes this to Obsidian's requestUrl not yet supporting streaming and links a forum thread.
The two halves therefore have different failure modes. Chat breaks when the network or the Copilot service is unreachable. Inline suggestions break when the Node path is wrong, which is a local misconfiguration you can fix without touching the network.
Installing obsidian-github-copilot and getting a first completion
Installation starts in Obsidian itself. The README says to install the plugin through the community plugins browser, then activate it in settings and configure the options. There is no npm or pip step for the user; the repository scripts (dev, build, version, format) are for building the plugin from source.
Once the plugin is active, inline suggestions need the Node binary path. The README tells you to find it with which node and paste that into the plugin settings:
which nodeThe output is a path such as /usr/local/bin/node. Enter that path in the plugin settings, not in a terminal. After that, either a modal appears asking you to sign in to Copilot, or you get a notice that Copilot is ready, which the README says happens when you have signed in to Copilot before in an IDE.
With sign-in done, open a note, write something, pause, and a suggestion appears. Tab accepts it, Esc dismisses it. The settings let you change the suggestion delay, rebind accept, dismiss, trigger and partial-accept actions, switch between automatic suggestions and manual triggering, restrict suggestions to code blocks or allow them across the whole note, and exclude folders and files.
One packaging detail matters if you did not use the community browser. The README warns that a plugin installed by cloning the repository or downloading release files must sit in a folder named github-copilot for the plugin to work. Renaming the folder to something else silently breaks loading.
Chat needs no Node path. Open the GitHub Copilot Chat in the right sidebar, sign in when asked, pick a model (the README gives gpt-4 and claude 3.7 as examples), and ask a question. Linking a note works the same way as in the editor:
Can you summarize this note [[my note]]?Where obsidian-github-copilot breaks or is the wrong tool
The known issues list is short but honest. Flatpak installations of Obsidian can hide the default Node binary inside the sandbox; the README points to issue 6 and suggests using NVM to manage Node versions instead. That is a Linux packaging problem, not a plugin bug, but it lands on the user.
The second issue is more structural. Tab completion "can be buggy in some cases (e.g. in bullet points in LateX Math mode for example)" because it depends on plugin priority over keybindings, per issue 38. If you write mathematics or nested bullets heavily, expect the accept key to fight with something else, and expect the fix to be a rebinding rather than a patch.
There are also things the README simply does not cover. Rollback and uninstall behaviour are not documented. Token usage, cost accounting, and what exactly leaves your vault are not described beyond the general requirement of a network connection to the Copilot service. For a plugin that reads your notes in order to suggest text, that silence is worth noting before you point it at a vault containing anything sensitive.
Finally, the licence metadata is inconsistent. The repository is listed as Apache-2.0 and contains LICENCE.md, but package.json declares "license": "MIT". If you are vendoring or redistributing the plugin, resolve that discrepancy with the maintainer rather than assuming either one.
How it differs from Obsidian Copilot and other LLM plugins
The obvious alternative category is the LLM plugins for Obsidian, and the search data shows people comparing them under names like Obsidian Copilot and Obsidian Copilot Plus. The difference is where the model lives. Those plugins generally let you supply an API key or point at a local endpoint, which means you choose the provider and pay it directly. This plugin does not do that. It is bound to GitHub Copilot, so your model choice is whatever the Copilot service offers, and your billing is your GitHub subscription.
That trade is real in both directions. You get Copilot's models and its sign-in flow, including the case where an existing IDE login is reused and no modal appears. You give up the ability to swap in a local model, which rules this out for anyone whose reason for using Obsidian is that the notes never leave the machine.
The second difference is the Node sidecar. Competing plugins that make HTTP calls do not need a Node binary path configured. This one does, and that single setting is the most likely thing to go wrong on first install, particularly on Flatpak or sandboxed Linux setups.
Maintenance, releases and upgrade cost
The last push to the default branch was on 2026-05-03, and release 1.2.4 was published the same day. Before that, 1.2.3 landed on 2026-05-02 and 1.2.2 on 2026-03-07. The repository is not archived. That release rhythm is uneven rather than steady, so treat upgrades as something to check rather than something to expect on a schedule.
Upgrading is handled by Obsidian's plugin mechanism, and the repository carries versions.json and version-bump.mjs, which is the standard Obsidian convention for mapping plugin versions to minimum app versions. That means an upgrade can be gated by your Obsidian version, not just by the plugin release.
The practical upgrade cost sits in the Node requirement. If a future release raises the Node floor, your configured binary path stops being sufficient and you have to install a newer Node and re-enter the path. Nothing in the README describes a migration path for that, so budget for it as a manual step.
On licensing: the project is listed as Apache-2.0 with a LICENCE.md in the repository root, while package.json says MIT. Apache-2.0 and MIT differ on patent grants and notice requirements. This is a factual discrepancy in the repository, not legal advice, and anyone redistributing the built plugin should confirm which one applies.
Editorial conclusion
Adopt this plugin if you already pay for GitHub Copilot, write code or structured text inside Obsidian, and are willing to point the settings at a Node.js 22 or later binary. Skip it if you want a local model, a free completion source, or a plugin that streams chat tokens as they arrive; the README states streaming is not implemented and depends on Obsidian's requestUrl gaining streaming support. Before installing, verify your Copilot subscription is active, run which node to confirm a Node 22 or later path, and check whether the Tab completion conflict described in issue 38 affects the note types you write in. Note that package.json declares the MIT license while the repository carries LICENCE.md and the project is listed as Apache-2.0.
Frequently asked questions
What is GitHub Copilot and what does it do?
GitHub Copilot is a subscription service that provides inline code and text suggestions and a chat interface. This plugin connects Obsidian to that service, so the subscription is a stated requirement for using it.
Which LLM plugin is best for Obsidian?
The README does not rank Obsidian plugins, and this plugin is not provider-agnostic: it is bound to GitHub Copilot and offers no local model or custom API key option. If you need a local model or your own key, this is the wrong tool.
Why would anyone use GitHub Copilot?
The README frames it around getting inline suggestions while typing and asking questions about your notes through a chat panel that accepts [[double bracket]] links. It requires a Copilot subscription and a network connection to the Copilot service.
What is Obsidian Git?
The README does not describe Obsidian Git, and this plugin does not perform Git operations on your vault. It bridges the Obsidian editor to the GitHub Copilot service for suggestions and chat.
Community notes