# REPL completion delay

**URL:** <https://discourse.julialang.org/t/repl-completion-delay/135411>\
**Category:** General Usage\
**Tags:** question, repl\
**Created:** [February 2, 2026, 4:59pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411 "2026-02-02T16:59:19Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [February 2, 2026, 4:59pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/1 "2026-02-02T16:59:19Z")

</div>

I am occasionally observing a slight delay (around 1/2s) in REPL completion (with TAB) in 1.12.

Is there any way to debug what is going on under the hood? I am using Revise, but I am not sure if it is called just when I try completion.

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [February 2, 2026, 5:38pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/2 "2026-02-02T17:38:50Z")

</div>

Are you using OhMyREPL? For me that was the cause of the delay in 1.12

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [February 2, 2026, 5:54pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/3 "2026-02-02T17:54:38Z")

</div>

No, only Revise and EmacsVterm.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [February 2, 2026, 6:18pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/4 "2026-02-02T18:18:18Z")

</div>

I see the same problem, using the pure Julia 1.12 REPL on Linux. Only sometimes. Could not figure out yet under which conditions.

---

<div class="post-metadata">

**Author:** ![DoktorMike](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/doktormike/32/2736_2.png) [@DoktorMike](https://discourse.julialang.org/u/DoktorMike)\
**Post date:** [February 2, 2026, 7:43pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/5 "2026-02-02T19:43:22Z")

</div>

Also happens to me sometimes but haven’t figured out a cause.

---

<div class="post-metadata">

**Author:** ![ianshmean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ianshmean/32/216042_2.png) [@ianshmean](https://discourse.julialang.org/u/ianshmean)\
**Post date:** [February 2, 2026, 8:23pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/6 "2026-02-02T20:23:08Z")

</div>

You can try starting the profiler and do the completion during it. Something like this. The shorter the sleep you can do, the better.

```julia-auto
julia> using Profile
julia> t = @async @profile sleep(10)
julia> repro[tab]
julia> wait(t)
julia> Profile.print()

```

Then ignore anything that doesn’t stem from a completion function handler

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [February 3, 2026, 3:02pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/7 "2026-02-03T15:02:38Z")

</div>

Thanks! A printout is attached in case someone wants to dig into it. The string I am trying to complete is `fo`, could be a method, so a lot of time is spent in `@Compiler/src/abstractinterpretation.jl`.

(NOTE: file is **not toml** , it’s the only thing that is allowed for upload)  
[profile.toml](https://discourse.julialang.org/uploads/short-url/j7yzGDoijRNr4nOGbEK4RS5RmNa.toml) (2.5 MB)

---

<div class="post-metadata">

**Author:** ![ianshmean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ianshmean/32/216042_2.png) [@ianshmean](https://discourse.julialang.org/u/ianshmean)\
**Post date:** [February 3, 2026, 3:13pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/8 "2026-02-03T15:13:24Z")

</div>

Try starting with `--trace-compile=stderr` to see what’s being compiled (or you could use the same async trick with `@trace_compile` to turn it on temporarily)

```julia-auto
julia> @async @trace_compile sleep(10)

```

---

<div class="post-metadata">

**Author:** ![jaakkor2](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jaakkor2/32/2540_2.png) [@jaakkor2](https://discourse.julialang.org/u/jaakkor2)\
**Post date:** [February 3, 2026, 6:08pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/9 "2026-02-03T18:08:40Z")

</div>

This is slow on 1.12.4, but seems to be fast on the upcoming 1.12.5 (tested with 1.12-nightly)  
foo.jl

```julia-auto
import DataStructures
using REPL.REPLCompletions
input_str = "Base.ma" 
@time begin
    r = completions(input_str, lastindex(input_str));
end

```

```julia-auto
> julia +release --startup-file=no foo.jl
  4.561883 seconds (15.53 M allocations: 753.029 MiB, 7.58% gc time, 99.93% compilation time)

```

vs

```julia-auto
> julia +1.12-nightly --startup-file=no foo.jl
  0.019530 seconds (36.24 k allocations: 1.937 MiB, 79.04% compilation time)

```

---

<div class="post-metadata">

**Author:** ![JamesNZ](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jamesnz/32/35361_2.png) [@JamesNZ](https://discourse.julialang.org/u/JamesNZ)\
**Post date:** [February 3, 2026, 6:27pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/10 "2026-02-03T18:27:40Z")

</div>

It’s almost definitely [`parse_brackets` should probably specialize on the function · Issue #600 · JuliaLang/JuliaSyntax.jl · GitHub](https://github.com/JuliaLang/JuliaSyntax.jl/issues/600), which was fixed in 1.12.5.

---

<div class="post-metadata">

**Author:** ![FattiMei](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@FattiMei](https://discourse.julialang.org/u/FattiMei)\
**Post date:** [February 3, 2026, 9:29pm UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/11 "2026-02-03T21:29:13Z")

</div>

For me it happens on REPL startup: after the first completion delay everything goes back to normal. 1.12.3 (maybe I’m a little old here)

---

<div class="post-metadata">

**Author:** ![rfourquet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rfourquet/32/3610_2.png) [@rfourquet](https://discourse.julialang.org/u/rfourquet)\
**Post date:** [February 4, 2026, 8:10am UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/12 "2026-02-04T08:10:41Z")

</div>

Thanks to the OP! Made me realize that a similar very bothering delay I had was due to a stupid piracy in my startup (`|(x, f::Function) = f(x)`) that I even forgot I had.  
EDIT: and v1.12.5 also solves the issue.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [February 4, 2026, 8:36am UTC](https://discourse.julialang.org/t/repl-completion-delay/135411/13 "2026-02-04T08:36:19Z")

</div>

> [@jaakkor2](#):
>
> seems to be fast on the upcoming 1.12.5 (tested with 1.12-nightly)

Thanks, that fixes the issue for me.
