Revise and OhMyREPL don't precompile when starting julia in VSCode terminal

I load Revise and OhMyREPL in my startup.jl file. When I start julia from a terminal this works fine. But just in the last couple of weeks when I start the Julia terminal in VSCode I get this error

[ Info: Precompiling OhMyREPL [5fb14364-9ced-5910-84b2-373655c76a03] (cache misses: incompatible header (14))
ERROR: LoadError: unknown Kind name "Bool"
Stacktrace:
  [1] error(s::String)
    @ Base .\error.jl:35
  [2] (::JuliaSyntax.var"#4#6"{String})()
    @ JuliaSyntax C:\Users\seatt\.julia\packages\JuliaSyntax\BHOG8\src\kinds.jl:980
  [3] get
    @ .\dict.jl:526 [inlined]
  [4] convert(::Type{JuliaSyntax.Kind}, s::String)
    @ JuliaSyntax C:\Users\seatt\.julia\packages\JuliaSyntax\BHOG8\src\kinds.jl:979
  [5] var"@K_str"(__source__::LineNumberNode, __module__::Module, s::Any)
    @ JuliaSyntax C:\Users\seatt\.julia\packages\JuliaSyntax\BHOG8\src\kinds.jl:1014
  [6] include(mod::Module, _path::String)
    @ Base .\Base.jl:557
  [7] include(x::String)
    @ OhMyREPL.Passes C:\Users\seatt\.julia\packages\OhMyREPL\7DgPH\src\passes\Passes.jl:1
  [8] top-level scope
    @ C:\Users\seatt\.julia\packages\OhMyREPL\7DgPH\src\passes\Passes.jl:3
  [9] include(mod::Module, _path::String)
    @ Base .\Base.jl:557
 [10] include(x::String)
    @ OhMyREPL C:\Users\seatt\.julia\packages\OhMyREPL\7DgPH\src\OhMyREPL.jl:6
 [11] top-level scope
    @ C:\Users\seatt\.julia\packages\OhMyREPL\7DgPH\src\OhMyREPL.jl:22
 [12] include
    @ .\Base.jl:557 [inlined]
 [13] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base .\loading.jl:2881
 [14] top-level scope
    @ stdin:6
in expression starting at C:\Users\seatt\.julia\packages\OhMyREPL\7DgPH\src\passes\SyntaxHighlighter.jl:128
in expression starting at C:\Users\seatt\.julia\packages\OhMyREPL\7DgPH\src\passes\SyntaxHighlighter.jl:1
in expression starting at C:\Users\seatt\.julia\packages\OhMyREPL\7DgPH\src\passes\Passes.jl:1
in expression starting at C:\Users\seatt\.julia\packages\OhMyREPL\7DgPH\src\OhMyREPL.jl:2
in expression starting at stdin:6
ERROR: LoadError: Failed to precompile OhMyREPL [5fb14364-9ced-5910-84b2-373655c76a03] to "C:\\Users\\seatt\\.julia\\compiled\\v1.11\\OhMyREPL\\jl_6C5F.tmp".
Stacktrace:
  [1] error(s::String)
    @ Base .\error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool; flags::Cmd, cacheflags::Base.CacheFlags, reasons::Dict{String, Int64}, loadable_exts::Nothing)
    @ Base .\loading.jl:3174
  [3] (::Base.var"#1110#1111"{Base.PkgId})()
    @ Base .\loading.jl:2579
  [4] mkpidlock(f::Base.var"#1110#1111"{Base.PkgId}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
    @ FileWatching.Pidfile C:\Users\seatt\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\FileWatching\src\pidfile.jl:95
  [5] #mkpidlock#6
    @ C:\Users\seatt\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\FileWatching\src\pidfile.jl:90 [inlined]
  [6] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
    @ FileWatching.Pidfile C:\Users\seatt\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\FileWatching\src\pidfile.jl:116
  [7] #invokelatest#2
    @ .\essentials.jl:1057 [inlined]
  [8] invokelatest
    @ .\essentials.jl:1052 [inlined]
  [9] maybe_cachefile_lock(f::Base.var"#1110#1111"{Base.PkgId}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
    @ Base .\loading.jl:3698
 [10] maybe_cachefile_lock
    @ .\loading.jl:3695 [inlined]
 [11] _require(pkg::Base.PkgId, env::String)
    @ Base .\loading.jl:2565
 [12] __require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base .\loading.jl:2388
 [13] #invoke_in_world#3
    @ .\essentials.jl:1089 [inlined]
 [14] invoke_in_world
    @ .\essentials.jl:1086 [inlined]
 [15] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base .\loading.jl:2375
 [16] macro expansion
    @ .\loading.jl:2314 [inlined]
 [17] macro expansion
    @ .\lock.jl:273 [inlined]
 [18] __require(into::Module, mod::Symbol)
    @ Base .\loading.jl:2271
 [19] #invoke_in_world#3
    @ .\essentials.jl:1089 [inlined]
 [20] invoke_in_world
    @ .\essentials.jl:1086 [inlined]
 [21] require(into::Module, mod::Symbol)
    @ Base .\loading.jl:2260
in expression starting at C:\Users\seatt\.julia\config\startup.jl:2
[ Info: Precompiling Revise [295af30f-e4ad-537b-8983-00126c2a3abe] (cache misses: wrong source (4), incompatible header (12))
WARNING: could not import JuliaInterpreter.Interpreter into Revise
WARNING: could not import JuliaInterpreter.RecursiveInterpreter into Revise
ERROR: LoadError: UndefVarError: `Interpreter` not defined in `Revise`
Suggestion: check for spelling errors or missing imports.
Stacktrace:
  [1] top-level scope
    @ C:\Users\seatt\.julia\packages\Revise\Iwohz\src\lowered.jl:210
  [2] include(mod::Module, _path::String)
    @ Base .\Base.jl:557
  [3] include(x::String)
    @ Revise C:\Users\seatt\.julia\packages\Revise\Iwohz\src\Revise.jl:25
  [4] top-level scope
    @ C:\Users\seatt\.julia\packages\Revise\Iwohz\src\packagedef.jl:92
  [5] include(mod::Module, _path::String)
    @ Base .\Base.jl:557
  [6] include(x::String)
    @ Revise C:\Users\seatt\.julia\packages\Revise\Iwohz\src\Revise.jl:25
  [7] top-level scope
    @ C:\Users\seatt\.julia\packages\Revise\Iwohz\src\Revise.jl:45
  [8] include
    @ .\Base.jl:557 [inlined]
  [9] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base .\loading.jl:2881
 [10] top-level scope
    @ stdin:6
in expression starting at C:\Users\seatt\.julia\packages\Revise\Iwohz\src\lowered.jl:210
in expression starting at C:\Users\seatt\.julia\packages\Revise\Iwohz\src\packagedef.jl:92
in expression starting at C:\Users\seatt\.julia\packages\Revise\Iwohz\src\Revise.jl:1
in expression starting at stdin:6

Is anybody else experiencing this?

julia> versioninfo()
Julia Version 1.11.5
Commit 760b2e5b73 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 32 × AMD Ryzen 9 7950X 16-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver4)
Threads: 1 default, 0 interactive, 1 GC (on 32 virtual cores)
Environment:
  JULIA_NUM_THREADS = 1
  JULIA_EDITOR = code
(@v1.11) pkg> st
Status `C:\Users\seatt\.julia\environments\v1.11\Project.toml`
  [6e4b80f9] BenchmarkTools v1.6.0
  [a8cc5b0e] Crayons v4.1.1
  [5fb14364] OhMyREPL v0.5.31
  [295af30f] Revise v3.7.6

Same here!

I eventually fixed this by uninstalling vscode and removing .vscode from my home directory, uninstalled julia language extension for vscode. Also uninstalled julia - removed .julia directory (saved my startup.jl file first).

Reinstalled everything and now it is working (so far).

Maybe you don’t need to uninstall and reinstall absolutely everything but I tried subsets (just julia, just vscode) and that didn’t seem to work.

Maybe some precompile file is being corrupted?

I figured it out eventually. Mine was because I created a new environment but didn’t have OhMyREPL installed in it. It worked after I added it to the new environment. And Revise can be compiled by ] update. Not sure what happened here.