Pretty sure this is a bug, at minimum it's inconsistent with sqlplus.
Problem is that when compiling an object not in current schema, the "show errors" command does not correctly list the errors encounted.
In sqlplus it does.
SQLCL:
SQL> show version
Oracle SQLDeveloper Command-Line (SQLcl) version: 25.1.0.0 build: 25.1.0.101.2353
SQL> drop user testuser cascade;
User TESTUSER dropped.
SQL> show user;
USER is "PDBADMIN"
SQL> create user testuser no authentication;
User TESTUSER created.
SQL> create or replace procedure local_proc as begin local_error; end;
2* /
Procedure LOCAL_PROC compiled
LINE/COL ERROR
--------- -------------------------------------------------------------
1/31 PL/SQL: Statement ignored
1/31 PLS-00201: identifier 'LOCAL_ERROR' must be declared
Errors: check compiler log
SQL> create procedure testuser.remote_proc as begin remote_error; end;
2* /
Procedure TESTUSER.REMOTE_PROC compiled
LINE/COL ERROR
--------- -------------------------------------------------------------
1/41 PL/SQL: Statement ignored
1/41 PLS-00201: identifier 'REMOTE_ERROR' must be declared
Errors: check compiler log
SQL> alter procedure local_proc compile;
Warning: ORA-17110: Execution completed with warning.
https://docs.oracle.com/error-help/db/ora-17110/
Procedure LOCAL_PROC altered.
SQL> show errors;
Errors for PROCEDURE LOCAL_PROC:
LINE/COL ERROR
-------- -----------------------------------------------------------------
1/31 PL/SQL: Statement ignored
1/31 PLS-00201: identifier 'LOCAL_ERROR' must be declared
SQL> alter procedure testuser.remote_proc compile;
Warning: ORA-17110: Execution completed with warning.
https://docs.oracle.com/error-help/db/ora-17110/
Procedure TESTUSER.REMOTE_PROC altered.
SQL> show errors;
No errors.
In SQLPLUS:
SQL> alter procedure local_proc compile;
Warning: Procedure altered with compilation errors.
SQL> show errors;
Errors for PROCEDURE LOCAL_PROC:
LINE/COL ERROR
-------- -----------------------------------------------------------------
1/31 PL/SQL: Statement ignored
1/31 PLS-00201: identifier 'LOCAL_ERROR' must be declared
SQL> alter procedure testuser.remote_proc compile;
Warning: Procedure altered with compilation errors.
SQL> show errors;
Errors for PROCEDURE TESTUSER.REMOTE_PROC:
LINE/COL ERROR
-------- -----------------------------------------------------------------
1/41 PL/SQL: Statement ignored
1/41 PLS-00201: identifier 'REMOTE_ERROR' must be declared
SQL>