I'm trying to alter custom blocks contextual menu. In particular I need to remove "Configure block" and "Delete". Is there any way to achieve this?


2 Answers 2


The correct way to alter contextual links is to use hook_contextual_links_alter.

In your case, it should look something like:

function my_module_contextual_links_alter(array &$links, $group, array $route_parameters) {
  if ($group === 'block') {
    // Hide Configure Block option.

The contextual links are heavily cached in the browser, therefore you need to make sure that the browser session cache is cleared - window.sessionStorage.clear(); - source.

  • Also note that this only works in modules; not themes.
    – NicklasF
    Nov 19, 2021 at 22:30
  • The array key for Configure Block is $links['block_configure']
    – NicklasF
    Nov 19, 2021 at 22:31

You can by adding this to your theme's css file.


.block-contentblock-delete { 
  display: none; 

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.