Hello, gen_server:init/1 is an optional callback and should be marked as such in Erlang 18+ now that it has -optional_callbacks. It is optional because of enter_loop. It is currently not possible to use -behavior(gen_server) when you need to use enter_loop. Cheers, -- Loïc Hoguin http://ninenines.eu