copilot.lua icon indicating copy to clipboard operation
copilot.lua copied to clipboard

Agent service not initialized

Open karamanliev opened this issue 1 year ago • 9 comments

Hello, I get this error every time I attach to a buffer for the first time after entering neovim, then entering insert mode and starting to write immediately:

RPC[Error] code_name = ServerNotInitialized, message = "Agent service not initialized."

It's consistent and it happens 100% of the time. I'm pretty much using a default config:

  {
    'zbirenbaum/copilot.lua',
    enabled = true,
    cmd = 'Copilot',
    event = { 'InsertEnter' },
    config = function()
      local colors = require('tokyonight.colors').setup()
      vim.api.nvim_set_hl(0, 'CopilotSuggestion', { fg = colors.fg_dark })

      require('copilot').setup({
        panel = {
          enabled = true,
          keymap = {
            open = '<M-p>',
          },
        },
        suggestion = {
          enabled = true,
          auto_trigger = true,
          keymap = {
            accept = false,
            next = '<M-]>',
            prev = '<M-[>',
            dismiss = '<C-c>',
          },
        },
        filetypes = {
          yaml = false,
          markdown = false,
          help = false,
          gitcommit = false,
          gitrebase = false,
          hgcommit = false,
          svn = false,
          cvs = false,
          ['.'] = false,
        },
      })

      -- Enable <Tab> to indent if no suggestions are available
      vim.keymap.set('i', '<Tab>', function()
        if require('copilot.suggestion').is_visible() then
          require('copilot.suggestion').accept()
        else
          vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('<Tab>', true, false, true), 'n', false)
        end
      end, { desc = 'Super Tab', silent = true })
    end,
  },

image

karamanliev avatar Sep 25 '24 19:09 karamanliev

+1 on this issue

micahkepe avatar Sep 26 '24 18:09 micahkepe

+1 also experienced this

Sirikakire avatar Oct 02 '24 10:10 Sirikakire

I am experiencing this as well and for what it is worth, this is the first time I have noticed it so it must be something more recent.

I am on Windows 11 and most recent neovim nightly.

GitMurf avatar Oct 02 '24 22:10 GitMurf

This is issue should be assigned on priority

KorigamiK avatar Oct 03 '24 12:10 KorigamiK

same issue after switching from copilot.vim to copilot.lua

YiHui-Liu avatar Oct 15 '24 07:10 YiHui-Liu

I can't seem to reproduce this. I updated neovim to the most recent version, re-authenticated copilot, and pasted this config directly.

I noticed one comment reported using windows 11. Is everyone else having this issue on windows as well?

zbirenbaum avatar Oct 19 '24 00:10 zbirenbaum

I'm on Mac

micahkepe avatar Oct 19 '24 01:10 micahkepe

Nah, I'm on Linux.

karamanliev avatar Oct 19 '24 12:10 karamanliev

I can't seem to reproduce this. I updated neovim to the most recent version, re-authenticated copilot, and pasted this config directly.

I noticed one comment reported using windows 11. Is everyone else having this issue on windows as well?

@zbirenbaum do you use Lazy for package manager and more importantly lazy load copilot so it does not load the plugin immediately at nvim startup?

I believe the issue is because I for example lazy load on 'InsertEnter' so if I open a buffer the first time in nvim session, press i to go into insert mode to start typing (that triggers copilot to load) and if I start immediately typing then it tries to send a request to copilot local server, but the server is not started up yet so it returns that error.

For others, can you confirm reproducing (especially if you use insert enter to lazy load) by opening a buffer and going to insert mode but do NOT start typing right way... wait a few seconds to start typing... then see if the error occurs as I get no error if I wait.

So @zbirenbaum the TLDR is that whatever recent change happened in the plugin and/or in Neovim core itself (or possible in copilot server itself), there should be some sort of check maybe to see if the copilot server is started up yet or not.

For me the immediate solution is to just lazy load on filetype enter so it loads as soon as I load a buffer instead of waiting for InsertEnter.

GitMurf avatar Oct 19 '24 15:10 GitMurf

I believe that the example installation in the README is recommending lazy loading by InsertEnter as well, so he probably uses lazy nvim and lazy loads it.

For others, can you confirm reproducing (especially if you use insert enter to lazy load) by opening a buffer and going to insert mode but do NOT start typing right way... wait a few seconds to start typing... then see if the error occurs as I get no error if I wait.

I can confirm that.

karamanliev avatar Oct 20 '24 13:10 karamanliev

Any updates to this?

NeckBeardPrince avatar Oct 24 '24 13:10 NeckBeardPrince

Anybody know if a way to at least disable the error?

NeckBeardPrince avatar Oct 28 '24 17:10 NeckBeardPrince

Wild

NeckBeardPrince avatar Nov 05 '24 15:11 NeckBeardPrince

If you use noice.nvim you could silence it:

require('noice').setup({
...
        routes = {
          {
            filter = {
              event = 'msg_show',
              any = {
                { find = 'Agent service not initialized' },
              },
            },
            opts = { skip = true },
          },
        },
...
})

karamanliev avatar Nov 06 '24 08:11 karamanliev

+1

xdannyrobertsx avatar Dec 06 '24 03:12 xdannyrobertsx

Still getting this

NeckBeardPrince avatar Jan 13 '25 19:01 NeckBeardPrince

Any update?

GitMurf avatar Feb 21 '25 15:02 GitMurf

On Arch Linux, Neovim version

NVIM v0.11.0-dev-1876+g86046c5a31
Build type: RelWithDebInfo
LuaJIT 2.1.1736781742

Lazy plugin manager, tried not lazy loading at all, still gives the same error message.

For repro, as soon as you get control of a buffer, press i to go into insert mode then press enter to start a newline. The speed with which you need to do this cannot be understated, the issue is non-existent without sufficient speed.

Likely best course of action is to ignore the notification with noice and go about my business.

GersiD avatar Mar 07 '25 01:03 GersiD

I someone wants to test out the PR I made for the fix you can temporarily change your config to pull from it like:

return {
  "AntoineGS/copilot.lua",
  branch = "fix_RPC",
  ...
}

AntoineGS avatar Mar 18 '25 22:03 AntoineGS

Unfortunately I still experience this error...

2025-03-25 15:39:37.773 [4] [ERROR]: RPC[Error] code_name = ServerNotInitialized, message = "Agent service not initialized."

I use Neovim 0.10.4 on Arch system (with LazyVim)

My config

I use the master version of the plugin:

Image

Also, there is this error in lsp.log:

[ERROR][2025-03-25 15:39:36] ...lsp/handlers.lua:623    "[default] Error sending telemetry FetchError: The operation was aborted\n    at fetch (/home/patrik/.local/share/nvim/lazy/copilot.lua/copilot/node_modules/@adobe/helix-fetch/src/fetch/index.js:99:11)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at runNextTicks (node:internal/process/task_queues:64:3)\n    at processTimers (node:internal/timers:516:9)\n    at cachingFetch (/home/patrik/.local/share/nvim/lazy/copilot.lua/copilot/node_modules/@adobe/helix-fetch/src/fetch/index.js:288:16)\n    at H2e.fetch (/home/patrik/.local/share/nvim/lazy/copilot.lua/copilot/lib/src/network/helix.ts:94:22) {\n  type: 'system',\n  _name: 'FetchError',\n  code: 'ABORT_ERR',\n  errno: undefined,\n  erroredSysCall: undefined\n}"

iFarmGolems avatar Mar 25 '25 14:03 iFarmGolems

A complete shot in the dark but could you try the beta branch? It needs more testing before I merge it into master but I would be curious to see if the change to the latest binary of Copilot makes a difference.

AntoineGS avatar Mar 25 '25 15:03 AntoineGS

I've tried it and it still does not work. However, I found this which might be relevant since I've had some problems with certificates lately: https://github.com/orgs/community/discussions/121812

Your plugin works normally on a fresh install of Arch with the same package versions. This issue is on my side somewhere.

iFarmGolems avatar Mar 26 '25 09:03 iFarmGolems

Ah that sucks :( I hope you find a solution that does not require a fresh install! I will close the issue for now, though if anyone reports back that the issue still persists I will reopen.

AntoineGS avatar Mar 27 '25 01:03 AntoineGS

Just so you know, it's also broken on the fresh distro Alpine WSL

What's funny is that it works some time after cleaning and reinstalling the plugin (for like 2 minutes) and then I get the error Agent service not initialized.

This is not an issue with your plugin but at least you can tell people that the problem is elsewhere.

I do believe that this would not appear on Ubuntu for example.

iFarmGolems avatar Apr 01 '25 09:04 iFarmGolems

I'm getting this. Rolling back to 30b98a4c25d6152c14084020f703b6d56e1f1122 fixed it.

julianpoy avatar Oct 18 '25 19:10 julianpoy

Hey, I changed my node version from 24.x.x to 22.21.0 and it worksss :D I use Arch btw :D

apep-1998 avatar Oct 22 '25 09:10 apep-1998